nvm管理多node版本

1,810 阅读3分钟

版本下载

地址:github.com/coreybutler…

从中选一个版本下载解压并且安装

  • 1、windows用户选择直接安装的nvm-setup.zip版本下载安装即可
  • 2、选择nvm安装目录
  • 3、选择nodejs目录(安装目录最好没有空格)
  • 4、安装成功后cmd输入 nvm -v 查看安装是否成功
// 设置淘宝源,默认国外地址可能有墙
// 找到nvm的安装路径并打开settings.txt
// 按如下修改:
root: C:\Users\Richard\AppData\Roaming\nvm
path: C:\Program Files\nodejs
arch: 64 
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

// 安装node
nvm install 12.16.2

// 静候一会儿直到看到<install complete>
nvm use 12.16.2
node -v
npm -v

**** 如果以上都正常,恭喜你,安装成功[以下内容可以忽略] ****

node安装成功,npm不成功且node_modules为空

这就要自己手动处理了,咱们开始。

  • 找一个最新的npm源文件包;
  • 配置全局安装路径;
  • 设置环境变量。
// 下载npm资源包
下载地址:https://npm.taobao.org/mirrors/npm
解压地址:D:\npm
1. 提取bin目录下面的命令工具到npm根目录(npm, npm.cmd)
2. 新建node_modules,再将刚刚解压缩出来的包重命名npm放到该目录下;
3. 注意,npm目录下就是你下载下来的资源包的根路径,如node_modules/npm/lib;
配置环境变量:
1. 新建NPM_HOME=D:\npm
2. 打开path并增加一条%NPM_HOME%
3. 重新打开命令行工具(cmd)运行npm -v
4. 不出意外以上就完成了npm全局设置过程,如果是npm安装的yarn,如果yarn有全局安装的话则还需要设置yarn的环境变量,在path里面再加一条%NPM_HOME%\bin

清除nodejs目录下多余的文件,只保留node.exe

清除nvm -> nodejs目录下的除node.exe之外的所有其它文件和目录。如果要安装新node,继续运行nvm install [version],使用nvm use [version]切换后,也按上述方法清除多余的文件。

检查环境的正确性
node -v
npm -v
[yarn -v]
上述命令行都能正确打印,说明安装成功了。
注意:npm已经全局化了,并不受node切换影响。你用npm/yarn安装的全局包只需要装一次即可,node切换不影响到任何全局包。如:
yarn global add typescript  
tsc -v
此时会正确打印typescript的版本号,切换node你会发现tsc的版本还是一样。
聪明如你,可能会问全局包和node环境不匹配报错怎么办???npm版本不匹配报错怎么办???
莫慌,npm不匹配你可以在对应node环境下面私有化一个npm包即可解决问题。然后,在该私有npm环境下重新装全局包,满足你的要求^^

总结

不管好不好,先来一份总结总是好的。 一般来讲,没有很多过分要求的话,window环境下,下载一个nvm安装包,一路下来就可以了,以上是我特殊情况特殊处理的。 主要了解一点,你需要在命令行用到的全局命令都需要添加的环境变量path里边,不然就找不到。如果npm命令有一个全局的和一个私有全局的,你想要用司有全局命令却发现出来的是全局命令,就尝试把环境变量的设置顺序调换一下,私有的路径放到上面。npm的话可以通过.npmrc修改prefix解决。