一、介绍
Node.js 基于 Chrome 的 V8 javascript 引擎,是一个 JavaScript 运行环境,你可以使用 Node.js 来执行 Javascript 文件,如 node app.js。Node.js 安装包包含了 npm,npm(Node Package Manager)是 Node 的包管理工具。它们的关系类比于 Java 就是 JDK 和 Maven。
Node.js 目前 6 个月发布一个版本,奇数版本仅支持 6 个月,发布奇数版本的时候上一个偶数版同时进入 12 个月的Active LTS
阶段,之后进入 18 个月的Maintenance LTS
,所以长期支持的稳定版最长持续 30 个月(两年半)。
Node.js 版本发行速度还是挺快的,Node.js 的版本选择要根据我们的项目来决定。比如我们公司的项目是用14.16.1
构建的,使用太高版本或者太低版本构建都会有问题。如果有多个项目多个 NodeJS 版本的需求,可以安装 NVM(Node Version Manager)。
二、安装包下载
Windows 下载 Windows 安装包.msi、.exe
或者 Windows 二进制文件.zip
。
Linux 下载二进制文件,如node-v14.16.1-linux-x64.tar.gz
,具体下载什么文件要看 CPU 架构,ARM、x64 或者其他。
下载地址:
镜像站(Node.js 中文网):https://www.nodejs.com.cn/download.html
还有诸如清华大学镜像站、阿里、华为、腾讯等镜像站途径下载
安装包完整性验证:请看另一篇文件验证 todo by gavin
三、Windows 安装
1、方式一:Windows 安装包(.msi)
一路点击 NEXT 就可以了,环境变量会自动配置。
安装页有一个可选项可以不用勾选,如下图,这是 Nodejs
调用 C/C++ 原生模块
需要用到的工具,需要的时候再装或者再重装一次Nodejs
。
这个工具安装界面要求至少要 2G 空间,比较占用空间,而且一般项目也用不上,所以不建议安装(磁盘充裕的随意)。至少我们公司 vue 项目没用上。
2、方式二:Windows 二进制文件(.zip)
下载并解压 zip 包,设置环境变量 —— 将 node 路径(解压文件路径)加到 PATH
。比如我的路径是:D:\develop\nodejs
。
3、验证是否安装成功
常规的查看版本方式验证:
查看 node 版本:node -v
查看 npm 版本:npm -v
注意:如果设置了环境变量,请关闭之前打开的 CMD,新开一个。
4、配置 NPM 镜像地址(建议)
因为国内的网络问题,访问官方的 NPM 地址可能出现访问慢或者访问不了的问题,这种情况我们可以通过配置镜像地址解决:
查看注册表地址:
npm config get registry
设置淘宝的镜像:
npm config set registry https://registry.npmmirror.com/
npm config set
的内容存在 %userprofile%/.npmrc
文件中,一般卸载node
之后此目录仍然存在,所以重装后发现镜像地址也不用修改了。我的目录(示例):c:/users/gavin/.npmrc
。
5、设置全局包和缓存的目录位置(可选)
5.1 为什么要重新设置呢?
因为这两个目录默认是在 C 盘%AppData%
下,为了节省空间所以改为其他路径,如果没有这方面的烦恼,跳过这个步骤。
5.2 npm 全局包是什么?
npm 全局包 即是工具包、插件包。例如,npm、nrm、yarn、cnpm、vue-cli 等都属于全局包。使用 npm、yarm 可以在项目中用于安装本地依赖包。
全局包的工具,一般都要在命令行使用的。使用.msi
安装包安装完后查看环境变量,可以看到 全局包默认路径 已经自动加入Path
了,示例:C:\Users\gavin\AppData\Roaming\npm
。
比如安装完 vue-cli 后,可以直接命令行调用:
npm install -g @vue/cli
vue -V
# 卸载 vue-cli
npm uninstall -g @vue/cli
5.3 npm-cache 是什么?
npm-cache 是 npm 的缓存目录,缓存下载的依赖包,下次再安装相同的包就不需要从互联网上获取了。
5.4 查看和修改
npm 全局包 默认地址:%AppData%/npm
npm-cache 默认地址:%AppData%/npm-cache
使用 zip 解压安装,npm 全局包 地址是 node 安装地址。比如我的路径是:D:\develop\nodejs
。
命令查看:
npm config get prefix
npm config get cache
修改:
# nodejs 目录已经有 npm 文件了,目录名不能叫 npm,遂取名 npm-g
npm config set prefix d:/develop/nodejs/npm-g
npm config set cache d:/develop/nodejs/npm-cache
.msi
方式安装需要修改用户变量PATH
,改为上述prefix
设置路径。
zip 解压安装
,因为和 node 的地址一致,环境变量前面已经设好了,也就不用再设置了。
如果npm config set
设置错误,导致npm config
命令一直提示异常,可以进入%userprofile%/.npmrc
,删除错误的设置信息。
设置 prefix 目录权限:
nodejs 目录默认只能读取和执行,不能修改。我们为了方便管理,将 prefix 目录设置在了 nodejs 目录中,执行npm i xx -g
就会安装失败,因为没有修改的权限。所以我们可以设置 nodejs 目录 有 完全控制权限(所有权限),如下图。
四、Linux 安装(CentOS 7)
1、二进制文件安装
(1)下载并解压到 /usr/local 目录
wget https://registry.npmmirror.com/-/binary/node/v14.16.1/node-v14.16.1-linux-x64.tar.gz
tar -xzvf node-v14.16.1-linux-x64.tar.gz
mv node-v14.16.1-linux-x64 /usr/local/
(2)创建 node、npm 软链接 or bin 目录直接加到环境变量 PATH
# 方式一:软链接
ln -s /usr/local/node-v14.16.1-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-v14.16.1-linux-x64/bin/npm /usr/local/bin/npm
# 方式二:将二进制目录 /bin 加入到 PATH(此方式建议是在有多个执行命令需要的情况)
# 编辑 /etc/profile 或者 ~/.bashrc 或者 ~/.bash_profile(文件含义不懂请问 chatbots)
vi /etc/profile
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile
2、验证 和 配置 NPM 镜像等
请看 Windows 安装 中的 验证 和 NPM 镜像配置。
其他配置文件:
npm-cache
目录:~/.npm
npm config set
配置写入文件:~/.npmrc
配置的含义,请看 Windows 相关配置介绍。
五、卸载 nodejs
1、Windows
.msi
直接卸载就行了,zip 安装
除了删除解压文件外还需要清除环境变量。
完成上面的步骤,还有一些缓存文件可删可不删(下次安装可以用,不会影响到下次安装。不建议删除,除非是不用 nodejs 了或者想从零开始配置):
%userprofile%/.npmrc
(npm config set
配置写入文件)%AppData%/npm
和%AppData%/npm-cache
(默认路径没有改的情况下)
2、Linux(CentOS)
使用 yum 卸载
# 查看是否用 yum 安装的软件
yum info node
yum info npm
# 卸载
yum remove nodejs npm -y
删除二进制文件、软链接
# 查看软链接对应的源目录
which node
ll /usr/local/bin/node
# 删除文件
rm -rf /usr/local/node-v14.16.1-linux-x64
rm -f /usr/local/bin/node
rm -f /usr/local/bin/npm
六、常用指令和使用建议
1、扩展 - 命令行查看环境变量
# Windows(两种方式)
echo %AppData%
set AppData
# linux(注意是大小写敏感的)
echo $HOME
2、清除缓存
# 强制清除
npm cache clean --force
npm cache clean -f
# 检查完整性,清除无效条目
npm cache verify
大多数情况下,不需要清除 npm 缓存,除非遇到了缓存导致的问题,或者构建要求从最新的包版本开始。
3、安装/卸载工具包、安装项目依赖等
# 安装/卸载工具包 vue-cli
npm install -g @vue/cli
npm uninstall -g @vue/cli
# 进入项目根目录, 执行
npm install / npm i
# 运行项目, xx 对应 package.json > scripts 字段定义的脚本
npm run xx
4、建议
npm install -g
是安装工具包使用的,请勿在项目中使用。
项目安装依赖请使用:npm install