笔者需要经常切换node版本,于是安装了nvm。
一. 安装nvm
下载安装包
下载地址:https://github.com/coreybutler/nvm-windows/releases , 选择第二个nvm-setup.zip。
或者:https://github.com/coreybutler/nvm-windows/releases
跳转:https://github.com/coreybutler/nvm-windows/tags 查看所有的tag,选择性下载
** 安装**
将下载的文件解压后得到nvm-setup.exe,安装直接点下一步即可,有两个界面需要注意:
1.Select Destination Location/设置nvm路径
安装完成后有个setting.txt文件,此路径相当于该文件中的root。
注意路径不支持空格,不能设为类似"C:Program Files"这种,否则node无法使用,推荐设置为:D:softwarenvm
2.Set Node.js Symlink/设置node.js映射路径
此路径相当于setting.txt文件中的path,该路径会与使用的node版本一一对应 ,根据nvm使用的版本,对应不同的node目录,从而实现node版本切换。
注意:
-此路径同样不支持空格,不能设为类似"C:Program Files"这种,否则当你nvm use node版本时会出现如下:
$ nvm use 10.15.3
exit status 1: 'C:\Program' 一串乱码。。。
-也不能将目录设置成nvm安装路径的上一级,比如: D:software,否则明明提示成功用nvm安装了node,但是当你查看node版本时会出现:‘node’ 不是内部或外部命令,也不是可运行的程序,推荐设置为:D:softwarenodejs 或 D:softwarenvmnodejs
安装成功后会在系统变量里看到两个配置:
NVM_HOME D:softwarenvm
NVM_SYMLINK D:softwarenodejs
查看nvm版本,出现如下,表示nvm安装成功
$ nvm -v
Running version 1.1.7.
二、nvm安装node
设置node与npm下载源
nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
设置完下载源后,会发现settings.txt 文件里的path不见了,不用管他
此时setting.txt文件如下:
root: D:softwarenvm
arch: 64
proxy: none
originalpath: .
originalversion:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
安装node版本
以我安装node10.15.3版本为例:
1.安装node版本
$ nvm install 10.15.3 64-bit
2.查看已安装的node版本
$ nvm list
* 10.15.3 (Currently using 64-bit executable)
3.使用某个node版本
$ nvm use 10.15.3
Now using node v10.15.3 (64-bit)
如上3步后,键入node和npm命令,就可以查看到当前的node和npm版本了
三、nvm常用命令
nvm install <version> [arch] // 安装node版本
nvm list // 查看已安装的node版本
nvm use [version] [arch] // 使用某个node版本
nvm uninstall <version> // 卸载node版本
四、问题汇总:
2、分析原因
1)安装路径是否包含中文
2)安装路径有空格
3)cmd使用是否是管理员方式打开
4)配置文件setting.txt中配置的路径和实际安装路径是否相符
一一排除,本文是第四种,修改配置文件【setting.txt】和实际安装路径保持一致即可,附:本人的配置文件如下
root: C:\nvm
path: C:\nvm\nodejs
3、附录
关于nvm的安装与使用可以查看另一篇文章:Node版本管理工具 - Nvm的下载、安装配置与使用```
问题2:直接运行jhipster:
C:\WINDOWS\system32>npm install -g generator-jhipster
npm WARN config global --global
, --local
are deprecated. Use --location=global
instead.
问题3.用nvm管理windows nodejs时用npm全局安装的插件无法调用的解决方案
在环境变量中啊新建变量NODE_PATH赋值为prefix设置的地址即
prefix=D:\Users\xxx\AppData\Roaming\nodejs\npm-global
然后把%NODE_PATH%加入到path中
比如:
1.先配置:
npm config set prefix "D:\softwarenvm\v16.16.0\node_global"
npm config set cache "D:\softwarenvm\v16.16.0\node_cache"
2.在系统环境变量中添加:
%NODE_PATH%
D:\softwarenvm\v16.16.0\node_global
所以:nvm 管理的某个版本的node,如果要有效使用npm安装的组件,必须 配置环境变量