nvm管理node版本和处理nvm安装node后运行项目npm报错

1,184 阅读3分钟

一、背景介绍 日常工作中,我们有时候会遇到需要同时开发多个项目,如果不同项目所依赖的node版本不一致,就会比较麻烦。比如项目一,是比较旧的项目,所依赖的版本最高为14;项目二,是刚启动的新项目,所依赖的版本为16以上;这种情况下,我们通过反复的安装、卸载node来进行版本切换是不太现实的,所以nvm就是为了帮助我们进行node版本切换的存在。

二、安装下载 1、从官网下载以下安装包:github.com/coreybutler…

(J@KXSJNYK8WEJR(JFZI3)K.png

2、将下载下来的压缩包进行解压(电脑上的任意位置 我解压到D盘了)

IOXFR9GA57V5P{UXD)JQO7N.png

3、接下来进行傻瓜式安装一路Next到底,安装过程中需要配置node存放目录,按照自己需求进行选择(就是最终node的安装目录,可以和之前node的保持一致)

1CJ1ZE2$OK9SSAV}%K4PUHW.png

}Z_M5UR7E544M160YX8AEK1.png

)46RW3RO{MB4$3}3((%CMU7.png

4、安装完毕后输入命令 nvm -v 查看版本,安装成功则显示版本号和列出了各种使用命令。

USQOT$67IPKYGNJMLWRCE@M.png

三、常用命令 nvm list available 列出所有可以安装的Node版本号

V%V6@ERA~TU@GINSN`Y)%%D.png

  • nvm install node版本号 下载指定版本号(例如:nvm install 16.16.0)
  • nvm ls 显示所有已安装的版本
  • nvm use 版本号 使用指定版本号(例如:nvm use 16.16.0)

四、命令解释

  • nvm off // 禁用node.js版本管理(不卸载任何东西)
  • nvm on // 启用node.js版本管理
  • nvm install // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0
  • nvm uninstall // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用
  • nvm ls // 显示所有安装的node.js版本
  • nvm list available // 显示可以安装的所有node.js的版本
  • nvm use // 切换到使用指定的nodejs版本
  • nvm -v // 显示nvm版本
  • nvm install stable // 安装最新稳定版
  • nvm current // 显示当前使用中的nvm版本

五、nvm use报错exit status 5解决方法 nvm use 版本报错,出现exit status 5: Access is denied.是因为无权限。 打开c盘C:\Windows\System32找到 cmd.exe,以管理员身份打开后,再次使用 nvm use x.x.x可实现成功切换。

image.png

六、使用nvm进行node多版本的管理。在安装完node后,可能会有如下问题 npm -v 'npm' 不是内部或外部命令,也不是可运行的程序或批处理文件。

image.png

版本问题,在8.11以上版本的node版本对应的npm都没法自动安装。 正常情况下,在nvm文件夹对应的node版本文件夹中,里面应该还有npm和npm.cmd文件。如下。

image.png 查看会发现自己的并没有,而是下载到了与node文件夹同级的temp文件夹下。 找到及时解压即可

image.png

另外,还可以在网站上自行下载对应版本的npm即可。 对应npm版本可以在cmd中使用nvm进行安装node中的信息中看到。 (npm历史版本下载地址)

image.png

下载后解压得到文件夹。复制到node安装版本的文件夹的node_modules中,并将文件名修改为npm。 最后将npm文件夹里bin目录下的npm和npm.cmd复制到当前文件根目录解决。

image.png

node 与 npm 对应版本:nodejs.org/zh-cn/downl…