Windows下安装和配置NodeJS
1、🥇下载
中文地址:https://nodejs.cn/download/
官网地址:https://nodejs.org/en/download/
如这里我们下载当前最新版:https://nodejs.org/dist/v21.6.1/node-v21.6.1-x64.msi
2、🥈安装
下载完成后进行安装,如这里我们安装路径为D:\Net_Program\Net_NodeJS
,如下图所示:
安装完后可查看其版本信息,以管理员身份运行CMD,然后分别输入命令node -v
和npm -v
即可查看其版本信息,如下图所示:
说明:新版的Node.js已自带npm,安装Node.js时会一起安装。npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西。
注意:
如果输入npm -v出现下图所示的警告信息,原因是NodeJS安装的版本没有对应的npm版本,这时候我们只需要将Node安装目录下的npm
和npm.cmd
文件中的prefix -g
修改为prefix --location=global
即可,如下图所示:
然后再输入npm -v
就没有错误警告提示了:
3、🥉配置npm全局安装路径
在NodeJS安装目录中增加node_global(用于存放NodeJS依赖包文件)和node_cache(用于存储下载依赖包时的文件)文件夹。
以管理员身份运行CMD,定位到NodeJS的安装目录,然后分别输入如下命令:
npm config set prefix "D:\Net_Program\Net_NodeJS\node_global"
npm config set cache "D:\Net_Program\Net_NodeJS\node_cache"
4、🏅修改环境变量
-
系统变量,新建,变量名为
NODE_PATH
,变量值为D:\Net_Program\Net_NodeJS\node_global\node_modules
; -
用户变量,编辑Path,将
C:\Users\quber\AppData\Roaming\npm
修改为D:\Net_Program\Net_NodeJS\node_global
; -
系统变量,编辑Path,增加
D:\Net_Program\Net_NodeJS\node_global
,如果已存在则不需要添加。
5、🏆修改镜像源
我们在使用npm命令的时候,经常会遇到卡顿的情况,原因你懂得,针对这一情况我们可以安装cnpm国内镜像。
全局安装cnpm:以管理员身份运行CMD,执行命令npm install -g cnpm --registry=https://registry.npm.taobao.org
即可,如下图所示:
更多命令的镜像源,可参考文章:设置npm、yarn和pnpm的国内镜像地址和yarn命令相关问题 ;
6、🎨测试
打开CMD,输入命令node
即可进入开发模式,如这时候你可以输入console.log('Hello NodeJS!')
回车后就会在窗口中显示Hello NodeJS,如下图所示:
express模块测试:
配置完后,安装个module测试下,我们就安装最常用的express模块,打开CMD窗口,定位到NodeJS安装目录,输入如下命令进行模块的全局安装(安装完成后,我们会发现在之前定义的全局文件夹node_global中多了相应的依赖包了):
npm install express -g
-g
是全局安装的意思。
补充(2022年4月16):
如果在安装过程中出现npm版本需要升级,你也可以自行选择升级,如下图所示:
安装完express模块后,新开一个CMD窗口并定位到安装目录,然后输入node进入开发模式,然后输入require('express')
命令回车,如果能列出一些列的信息则说明express模块已安装成功。
另外,我们也可以创建一个js文件来测试express模块,我们在D盘根目录创建一个test.js的文件,内容如下:
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send("Hello World 8888 ");
console.log("Hello World 8888 ");
});
app.listen('8888');
console.log("nodejs start listen 8888 port!");
然后打开CMD窗口,定位到D盘根目录,然后输入命令node test.js
,然后我们在浏览器输入http://127.0.0.1:8888/来访问就会看到js文件中输出的内容了,同时浏览器每刷新一次,CMD窗口就会打印一次Hello World 8888