全网最细!使用nvm管理node(从node卸载到node安装使用一文搞定)nrm管理npm源

98,929次阅读
没有评论

共计 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;

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

(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 的环境就是删除干净了。随后一定要重启电脑,再进行下一步的安装操作!

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

2、安装 nvm

(1)下载安装包

nvm 的发布是在 github 的一个开源仓库里面,因此需要去 github 上下载(官方地址)。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

但是对于部分因为网络原因,上不去的小伙伴,这里提供了一个国内能够访问的镜像网址,不过这个网站的 nvm 版本可能不是最新的,如果对版本有要求的话,还是推荐去 github 上下载。链接地址

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

(2)安装

双击 nvm-setup.exe 进入 nvm 的安装流程。

切记安装路径的文件夹不要出现中午,不然使用 npm 的审核会出现符号格式不正确问题。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

直接安装到 C 盘的话,就不需要再配置环境变量了,如果你选择了其他的盘,那还需要配置环境变量。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

静静等待安装成功,然后 win+ R 打卡命令提示符窗口,然后输入 nvm -v 来查看安装好的 nvm 版本。

nvm -v

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

出现版本说明已经将 nvm 安装成功了。

3、配置 nvm 下载镜像

安装成功 nvm 后先别急着安装 node,因为 node 是国外的链接,下载会比较慢,因此我们需要设置一下国内的镜像地址,加快下载的速度。

(1)打开刚刚安装 nvm 的地址,找到settings.txt

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

(2)打开该文件,在最下面添加如下两行代码:

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

4、配置环境变量

如果上面安装的时候路径都选择的是 C 盘,那么大概率这一步是可以跳过的,不过最好还是检查一下,有时候也可能出现没有的情况。

右键桌面上的此电脑,打开属性。在系统 ->系统信息中找到高级系统设置,这样就能找到环境变量了。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

打开后查看一下是否存在如下图所示的两个环境变量,如果没有的话需要加上这两个环境变量,注意变量名不要打错了。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

然后在 path 中添加这两个环境变量,最好用户和系统这两个 path 都加上

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

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

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

这里面的版本不全,如果需要查看所有的版本,需要去 https://nodejs.org/en/download/releases 查看所有的版本。

选择一个开发时需要的版本,比如我需要安装的版本是 16.20.0,那么我直接输入nvm install 16.20.0,然后回车执行命令。

nvm install 16.20.0

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

如果下载错了,需要卸载 node,使用命令:nvm uninstall [node 版本号]

出现这句话就代表这个版本的 node 安装成功了,这个时候如果你去 nvm 的安装目录里面 查看,你可以看到对应两个版本的 node 文件夹。这里你可以多安装几个版本,推荐装一个比较新的和一个比较稳定的版本。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

2、使用 node

在命令行中输入 nvm ls 可以查看当前系统中有的 node 版本。

nvm ls

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

出现 *标代表这个版本是现在正在使用的版本。

当然如果是刚安装上,如果没有这个 * 标也没事,在命令行中输入 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 -vnpm -v,查看 node 和 npm 的版本。

node -v
npm -v

能够正常出现两个版本就说明已经安装配置好了。

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

注意事项:
如果 npm - v 出现 npm 非内部指令或外部指令的情况,说明 npm 对应的文件没有下载。

解决办法:
失败的原因很简单。如果正常的自动安装,node 文件夹里应该如下图,而安装失败,文件夹里并没有 npm 和 npm.cmd 两个文件。
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源
因此我们需要手动安装 node 版本对应的 npm 版本,可以去这个链接进行查看:https://nodejs.org/zh-cn/download/releases/
如下图:
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源
比如我的 Node 版本是 12.22.12,那么我就直接下载 6.14.16 的版本就行了。可以直接点后面的 Release 进行下载,也可以去这个网站查找对应的版本进行下载。
https://registry.npmmirror.com/binary.html?path=npm/

下载解压好以后,把整个解压出来的文件夹重命名为 npm,然后将这个文件夹放到node 目录下的 node_modules 目录下。
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源
然后去解压出来的 npm 文件夹的 bin 目录下,找到 npmnpm.cmd这两个文件
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源
把这两个文件放到 node 版本的文件夹下,如图:
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源
然后再执行 npm - v 这个命令,就能出现版本了,这样 npm 就可以正常使用了。
全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

3、配置淘宝镜像

为了让 npm 下载包的速度更快,可以为 npm 设置一个淘宝镜像。

npm config set registry https://registry.npmmirror.com

如果出现如下图的错误的话,说明配置的淘宝镜像过期了,可以参考这一篇文章进行修改。直达链接

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

4、nrm 管理镜像源(非必须)

这一步只是作为拓展,不是必须的,如果只是想通过 nvm 管理 node 的小伙伴这一步直接跳过,npm 配置了淘宝镜像后就可以了。

nrm(npm registry manager)是 npm 的镜像管理工具,有时候国外的资源太慢,使用这个就可以快速地在 npm 源间切换。

(1)安装:

命令行执行命令,npm install -g nrm,全局安装 nrm

npm install -g nrm

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

(2)查看源:

执行命令 nrm ls 查看可选的源。其中带 * 号的是当前使用的源,或者使用 nrm current 可以直接查看当前使用的源。

nrm ls
nrm current

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

(3)切换源

将当前的 npm 源切换为指定的源。可以使用源的名称或 URL 作为 参数。

nrm use 
# 比如需要切换为 taobao,那么命令为:nrm use taobao

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

(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

全网最细!使用 nvm 管理 node(从 node 卸载到 node 安装使用一文搞定)nrm 管理 npm 源

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 源

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-03发表,共计4360字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)