共计 4360 个字符,预计需要花费 11 分钟才能阅读完成。
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源
一、认识 NVM
在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。
nvm 应运而生,NVM (Node Version Manager) 是一个用于管理多个 Node.js 版本的工具。nvm 和 n 都是 node.js 版本管理工具,为了解决 node.js 各种版本存在不兼容现象可以通过它可以安装和切换不同版本的 node.js。这对于开发人员来说非常有用,尤其是在需要支持不同版本 Node.js 的场景下。
nvm 与 n 的区别
node 版本管理工具还有一个是 TJ 大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。
由于 npm 安装的模块路径均为 /usr/local/lib/node_modules,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。
二、安装 NVM
1、卸载全局安装的 node/npm(无 node 可跳过此步)
在官网下载的 node 安装包,运行后会自动安装在全局目录,使用过程中经常会遇到一些 权限问题,所以推荐按照以下方法卸载全局安装的 node/npm。
在最新的安装程序中,已经自带了卸载程序,当然也可以手动卸载。
(1)在控制面板中卸载 nodejs;
(2)删除 node 的安装目录,一般来说卸载后就已经删除掉了;
(3)删除 C 盘中遗留的文件
在 C 盘查找以下文件夹,如果存在,请逐个删除
C:Program Files (x86)Nodejs
C:Program FilesNodejs
C:Users 用户名 AppDataRoamingnpm
C:Users 用户名 AppDataRoamingnpm-cache
C:Users 用户名 AppDataLocalnpm-cache
(4)如果有配置过环境变量的话,将 node 的环境变量删除;
(5)检测版本
npm -v
node -v
出现无法识别这两个命令后,node 的环境就是删除干净了。随后一定要重启电脑,再进行下一步的安装操作!
2、安装 nvm
(1)下载安装包
nvm 的发布是在 github 的一个开源仓库里面,因此需要去 github 上下载(官方地址)。
但是对于部分因为网络原因,上不去的小伙伴,这里提供了一个国内能够访问的镜像网址,不过这个网站的 nvm 版本可能不是最新的,如果对版本有要求的话,还是推荐去 github 上下载。链接地址
(2)安装
双击 nvm-setup.exe 进入 nvm 的安装流程。
切记安装路径的文件夹不要出现中午,不然使用 npm 的审核会出现符号格式不正确问题。
直接安装到 C 盘的话,就不需要再配置环境变量了,如果你选择了其他的盘,那还需要配置环境变量。
静静等待安装成功,然后 win+ R 打卡命令提示符窗口,然后输入 nvm -v
来查看安装好的 nvm 版本。
nvm -v
出现版本说明已经将 nvm 安装成功了。
3、配置 nvm 下载镜像
安装成功 nvm 后先别急着安装 node,因为 node 是国外的链接,下载会比较慢,因此我们需要设置一下国内的镜像地址,加快下载的速度。
(1)打开刚刚安装 nvm 的地址,找到settings.txt
。
(2)打开该文件,在最下面添加如下两行代码:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
4、配置环境变量
如果上面安装的时候路径都选择的是 C 盘,那么大概率这一步是可以跳过的,不过最好还是检查一下,有时候也可能出现没有的情况。
右键桌面上的此电脑,打开属性。在系统 ->系统信息中找到高级系统设置,这样就能找到环境变量了。
打开后查看一下是否存在如下图所示的两个环境变量,如果没有的话需要加上这两个环境变量,注意变量名不要打错了。
然后在 path 中添加这两个环境变量,最好用户和系统这两个 path 都加上
5、常用的 nvm 命令
nvm -v
nvm on
nvm off
nvm list available
nvm install [nodejs 版本号]
nvm uninstall [nodejs 版本号]
nvm ls
nvm use [nodejs 版本号]
nvm use node
nvm run [nodejs 版本号] --version
6、卸载 nvm
如果不需要 nvm 了如何卸载呢?
(1)直接打开控制面板,点击卸载软件,找到 nvm 直接卸载就行,通过 nvm 下载的 node 会跟随 nvm 一起卸载。
(2)还是打开环境变量,将之前设置的环境变量删掉就行了。
三、安装 node
1、安装 node
win+ R 打开终端,输入 nvm list available
,查看当前网络能够下载的所有 node 的版本,其中CURRENT
是比较新的版本,可能不稳定,LTS
是稳定版本,推荐下载 LTS 中的稳定版本。
nvm list available
这里面的版本不全,如果需要查看所有的版本,需要去 https://nodejs.org/en/download/releases 查看所有的版本。
选择一个开发时需要的版本,比如我需要安装的版本是 16.20.0,那么我直接输入nvm install 16.20.0
,然后回车执行命令。
nvm install 16.20.0
如果下载错了,需要卸载 node,使用命令:nvm uninstall [node 版本号]
出现这句话就代表这个版本的 node 安装成功了,这个时候如果你去 nvm 的安装目录里面 查看,你可以看到对应两个版本的 node 文件夹。这里你可以多安装几个版本,推荐装一个比较新的和一个比较稳定的版本。
2、使用 node
在命令行中输入 nvm ls
可以查看当前系统中有的 node 版本。
nvm ls
出现 *
标代表这个版本是现在正在使用的版本。
当然如果是刚安装上,如果没有这个 *
标也没事,在命令行中输入 nvm use [nodejs 版本号]
就能进行 node 版本的使用。
比如我希望切换到 16.20.0
这个版本,那么我就需要输入 nvm use 16.20.0
进行版本的使用,需要切换版本时也是使用该命令,然后使用 nvm on
打开 nodejs 版本控制。
nvm use 16.20.0
nvm on
切换后记得查看一下当然使用的 node 和 npm 是否正常。
依次输入 node -v
和npm -v
,查看 node 和 npm 的版本。
node -v
npm -v
能够正常出现两个版本就说明已经安装配置好了。
注意事项:
如果 npm - v 出现 npm 非内部指令或外部指令的情况,说明 npm 对应的文件没有下载。
解决办法:
失败的原因很简单。如果正常的自动安装,node 文件夹里应该如下图,而安装失败,文件夹里并没有 npm 和 npm.cmd 两个文件。
因此我们需要手动安装 node 版本对应的 npm 版本,可以去这个链接进行查看:https://nodejs.org/zh-cn/download/releases/
如下图:
比如我的 Node 版本是 12.22.12,那么我就直接下载 6.14.16 的版本就行了。可以直接点后面的 Release
进行下载,也可以去这个网站查找对应的版本进行下载。
https://registry.npmmirror.com/binary.html?path=npm/
下载解压好以后,把整个解压出来的文件夹重命名为 npm
,然后将这个文件夹放到node
目录下的 node_modules
目录下。
然后去解压出来的 npm
文件夹的 bin 目录下,找到 npm
和npm.cmd
这两个文件
把这两个文件放到 node 版本的文件夹下,如图:
然后再执行 npm - v 这个命令,就能出现版本了,这样 npm 就可以正常使用了。
3、配置淘宝镜像
为了让 npm 下载包的速度更快,可以为 npm 设置一个淘宝镜像。
npm config set registry https://registry.npmmirror.com
如果出现如下图的错误的话,说明配置的淘宝镜像过期了,可以参考这一篇文章进行修改。直达链接
4、nrm 管理镜像源(非必须)
这一步只是作为拓展,不是必须的,如果只是想通过 nvm 管理 node 的小伙伴这一步直接跳过,npm 配置了淘宝镜像后就可以了。
nrm(npm registry manager)是 npm 的镜像管理工具,有时候国外的资源太慢,使用这个就可以快速地在 npm 源间切换。
(1)安装:
命令行执行命令,npm install -g nrm
,全局安装 nrm
npm install -g nrm
(2)查看源:
执行命令 nrm ls
查看可选的源。其中带 *
号的是当前使用的源,或者使用 nrm current
可以直接查看当前使用的源。
nrm ls
nrm current
(3)切换源
将当前的 npm 源切换为指定的源。可以使用源的名称或 URL 作为 参数。
nrm use
# 比如需要切换为 taobao,那么命令为:nrm use taobao
(4)添加源:
你可以增加定制的源,特别适用于添加企业内部的私有源,执行命令nrm add
,其中 registry 为源名,url 为源的路径。
nrm add
#比如你要添加一个叫 gege 的源,链接是 https://gege.com
#那么命令为:nrm add gege https://gege.com
(5)删除源:
执行命令 nrm del
删除对应的源。
nrm del
# 比如要删除 gege 这个源,那么执行 nrm del gege
(6)测试源速度:
测试指定源的响应速度,并显示测试结果。
nrm test
# 比如测试 taobao 的速度 nrm test taobao
5、常用的 npm 命令
npm init
npm install package> 或 npm i package>
npm uninstall package>
npm list 或 npm ls
npm outdated
npm update package>
npm update
npm run script>
npm test
npm publish
npm config
npm help
6、常用的一些标识符
-g 或 --global
-S 或 --save
-D 或 --save-dev
-E 或 --save-exact
--save-optional 或 -O
--prefix
--production
恭喜你!到此为止,node 的安装和管理你已经很熟悉了,后续 npm 还有 yarn、cnpm、pnpm 等内容,如果感兴趣的话,可以参考这一篇文章,传送门
如果觉得这篇文件对你有帮助的话,麻烦点个赞和关注吧!!!谢谢!!!
原文地址: 全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源