前语:在项目实践开发中,会遇到多个项目并行开发,而往往项目不同对应的开发环境不同,单一的环境往往会遇到node的升级/降级、npm的升级/降级、node与npm不兼容、依靠包装置速度慢或卡顿等问题,然后影响开发效率,此刻该如何解决呢?那么接下来就介绍nvm与nrm的运用。
一、nvm下载与装置
留意事项:装置运用nvm前,一定要卸载掉体系中一切现已存在的一切node.js版别!!!
- nvm-windows官网
- 把nvm-setup.zip进行解压,nvm-setup.exe双击进行装置,能够自定义挑选装置目录也能够默许装置目录(装置目录记下来,后边修正环境变量会用到~)。
nvm装置目录:
nodejs装置目录:
二、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/
留意:npmmirror 镜像站
三、修正装备nvm环境变量(首要为了能够运用nvm相关指令)
用户变量中增加
NVM_HOME C:\nvm
NVM_SYMLINK C:\Program Files\nodejs
path中增加
Path %NVM_HOME%;%NVM_SYMLINK%
留意!!! %NPM_HOME%要增加在%NVM_SYMLINK%之前,避免npm拜访到的是nodejs中自带的npm包管理东西
四、查看nvm是否装置成功及nvm相关常用指令的运用
- 查看nvm是否装置成功
打开cmd,输入
nvm
,如下图则表明装置成功!
- nvm其他指令
nvm -v // 查看nvm版别号
nvmlistavailable // 查看能装置node的版别有哪些
nvm install latest // 装置node最新版别
nvm install 19.8.0 // 装置node指定版别19.8.0
nvm uninstall 19.8.0 // 卸载node@19.8.0
nvm use 19.8.0 // 运用node版别19.8.0
nvm ls // 查看本地已装置了node哪些版别
- 查看node及对应npm是否装置成功
- 办法1:查看node及npm版别号
node -v
npm -v
如图表明装置成功
- 办法2: 直接去nvm装置目录查看node装置目录,如图表明装置成功
五、大局装置npm
一般情况下,装置node时,npm也一起装置了。每次装置一个node版别都要装置一堆包,若能有一个npm让各个版别的node共用,那就方便很多了。那么能够经过装备一个大局的npm来实现。
- 装备用npm下载包时大局装置的包途径
npm config set prefix "C:\nvm\npm"
- 装备环境变量 用户变量中增加
NPM_HOME C:\nvm\npm
path中增加
Path %NPM_HOME%
六、nrm管理npm源
只有一个npm源下载依靠包时国内下载速度可能会变慢或卡顿,乃至下载不来;若换yarn进行项目依靠包的下载,但会呈现项目保护问题,你用yarn,而其他同伴用npm,使得开发项目环境不同,然后导致运转项目时呈现各种运转/打包等问题。
此刻就需求另谋途径来解决——改动npm源。
改动npm源能够运用registry装备npm源,可是需求记地址,所以懒人式挑选nrm这个东西来进行管理会更加高效。
- 大局装置nrm
npminstallnrm-g--save
- 查看nrm是否装置成功
nrm ls // npm源列表
nrm current // 当时运用的npm源
nrm use taobao // 切换淘宝源
如下图表明装置成功!
- 切换了npm源为淘宝源,仍旧运用npm指令即可。
npm i @vue/cli -g
这下载速度进步了一个层次!
- 运用nrm遇到的问题
(1)npm版别问题
解决方案:
升级npm包
npm i -g npm@9.6.5
(2)更新npm包仍是不可,如图:
解决方案:
卸载本来的大局装置的nrm,重新装置指定版别。
npm install -g nrm open@8.4.2 --save
nrm成功装置运用!
七、装置运用nvm过程中遇到的问题集合(避坑!!!)
装置nodejs有必要是npm和node都成功的,不然不算成功装置nodejs。
-
问题1:nvm装置node时,node装置成功,npm装置失败
解决方案:
(1)在nvm中的setting.txt文件增加镜像(不要加https),发现仍是npm仍是没有装置成功。
node_mirror:npm.taobao.org/mirrors/node/
npm_mirror:npm.taobao.org/mirrors/npm/
(2)镜像不可,则手动下载对应需求的node版别的包到nvm目录下
下载地址:nodejs.org/download/re…
-
问题2:node不是内部或外部指令,也不是可运转的程序或批处理文件
解决方案:
(1)修正nvm目录下的settings.txt(特别是自定义装置nvm的需求留意)
(2)设置环境变量
-
问题3:nvm use xxx 呈现exit status乱码
解决方案: 首要原因便是cmd不是管理员权限进行运转操作,用管理员权限进行操作cmd即可(前提是确定现已装置好了node和npm,且node镜像path是正确的)。
-
问题4:
exit status 1: Access is denied. // 拒绝拜访
解决方案:
cmd运转时,改为用管理员身份运转即可。
-
问题5:
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)查看体系变量中,是否现已有一个默许的选项,若多了一个,删掉即可。
-
问题6:’nvm’不是内部或外部指令,也不是可运转的程序或批处理文件
解决方案: nvm增加一下到体系变量。