前言:在项目实际开发中,会遇到多个项目并行开发,而往往项目不同对应的开发环境不同,单一的环境往往会遇到node的升级/降级、npm的升级/降级、node与npm不兼容、依赖包安装速度慢或卡顿等问题,从而影响开发效率,此时该如何解决呢?那么接下来就介绍nvm与nrm的使用。
注意事项:安装使用nvm前,一定要卸载掉系统中所有已经存在的所有node.js版本!!!
C:\nvm
目录下找到settings.txt文件,修改settings.txt的内容(主要为了解决nvm安装node时,使得node与npm对应的安装成功)root: C:\nvm
path: C:\Program Files\nodejs
// 将npm镜像改为淘宝的镜像,可以提高下载速度(虽然也可以用,但是建议还是用新的淘宝镜像!)
//node_mirror: https://npm.taobao.org/mirrors/node/
//npm_mirror: https://npm.taobao.org/mirrors/npm/
// 原taobao镜像地址修改最新的npmmirror.com
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
用户变量中添加
NVM_HOME C:\nvm
NVM_SYMLINK C:\Program Files\nodejs
path中添加
Path %NVM_HOME%;%NVM_SYMLINK%
注意!!!
%NPM_HOME%要添加在%NVM_SYMLINK%之前,避免npm访问到的是nodejs中自带的npm包管理工具
nvm -v // 查看nvm版本号
nvm list available // 查看能安装node的版本有哪些
nvm install latest // 安装node最新版本
nvm install 19.8.0 // 安装node指定版本19.8.0
nvm uninstall 19.8.0 // 卸载[email protected]
nvm use 19.8.0 // 使用node版本19.8.0
nvm ls // 查看本地已安装了node哪些版本
node -v
npm -v
如图表示安装成功
一般情况下,安装node时,npm也一起安装了。每次安装一个node版本都要安装一堆包,若能有一个npm让各个版本的node共用,那就便捷很多了。那么可以通过配置一个全局的npm来实现。
npm config set prefix "C:\nvm\npm"
NPM_HOME C:\nvm\npm
path中添加
Path %NPM_HOME%
只有一个npm源下载依赖包时国内下载速度可能会变慢或卡顿,甚至下载不来;若换yarn进行项目依赖包的下载,但会出现项目维护问题,你用yarn,而其他伙伴用npm,使得开发项目环境不同,从而导致运行项目时出现各种运行/打包等问题。
此时就需要另谋途径来解决——改变npm源。
改变npm源可以使用registry配置npm源,但是需要记地址,所以懒人式选择nrm这个工具来进行管理会更加高效。
npm install nrm -g --save
nrm ls // npm源列表
nrm current // 当前使用的npm源
nrm use taobao // 切换淘宝源
npm i @vue/cli -g
解决方案:
升级npm包
npm i -g npm@9.6.5
解决方案:
卸载原来的全局安装的nrm,重新安装指定版本。
npm install -g nrm open@8.4.2 --save
安装nodejs必须是npm和node都成功的,否则不算成功安装nodejs。
解决方案:
(1)在nvm中的setting.txt文件添加镜像(不要加https),发现还是npm还是没有安装成功。
node_mirror: npm.taobao.org/mirrors/node/
npm_mirror: npm.taobao.org/mirrors/npm/
(2)镜像不行,则手动下载对应需要的node版本的包到nvm目录下
下载地址:https://nodejs.org/download/release/
解决方案:
(1)修改nvm目录下的settings.txt(特别是自定义安装nvm的需要注意)
(2)设置环境变量
解决方案:
主要原因就是cmd不是管理员权限进行运行操作,用管理员权限进行操作cmd即可(前提是确定已经安装好了node和npm,且node镜像path是正确的)。
exit status 1: Access is denied. // 拒绝访问
解决方案:
cmd运行时,改为用管理员身份运行即可。
nvm use: Cannot create a file when that file already exists.
安装nvm过程中,需要设置nodejs的快捷连接symlink,windows默认是C:\Program Files\nodejs。nvm就是通过修改快捷链接来改变node的版本。
解决方案:
(1)这里提示的错误是指nodejs链接已存在,要把原来的删除;若怕删除有问题可以重命名原来的nodejs。然后重新使用nvm use切换即可。
(2)检查系统变量中,是否已经有一个默认的选项,若多了一个,删掉即可。