Appearance
NVM安装与使用
简介
在实际的前端开发过程中,可能会经常遇见 node.js 的版本问题,不同的项目需要使用不同的 node.js 版本。
直接安装的话,只能安装和使用 node.js 的一个版本。可以使用 nvm 来安装和管理不同版本的 node.js。
nvm 是 Mac 下的 node.js 管理工具。可以通过 nvm 安装和切换不同版本的 node.js。
在 Windows 下面,可以使用 nvmw 或者 nvm-windows
如果有安装过node,最好进行卸载,因为自己安装的,nvm控制不了,会出现一些意想不到的报错,先安装nvm,再使用nvm命令安装需要的版本即可!
Windows 下 nvm 安装
安装步骤如下:
到 github 上面下载。下载地址:https://github.com/coreybutler/nvm-windows/releases
环境配置:
需要在用户变量和系统变量都设置
| 变量 | 值 |
|---|---|
| NVM_HOME | D:\nvm\nvm |
| NVM_SYMLINK | D:\nvm\nodejs |
下载node:
nvm使用 nvm install [node的版本] 下载node
使用 nvm use 12.18.0 使用对应版本的node
安装较慢,换源:
在nvm下的settings.txt添加如下:
root: E:\software\nvm path: E:\software\nvm\nodejs node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/ # 下面的淘宝源22年已经停止使用了 node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/root:安装的根目录
path:nodejs目录快捷方式
node_mirror:node源
npm_mirror:npm源
备注:
nvm-noinstall.zip :绿色免安装版,但使用时需进行配置环境变量。
nvm-setup.zip :安装版,推荐使用。
node.js 安装路径(就是以后下载的不同版本 node.js 的安装路径,推荐不要放在 C 盘,不要有空格、特殊字符等)
配置全局依赖的环境变量
D:\nvm\nvm\v1*.**.0下面的node_modules是在node安装npm时创建的
我们在node_modules下面创建:node_global 和 **node_cache**这个两个文件夹
设置环境变量:
在系统环境变量下面的 PATH 里面创建一个新的环境变量
路径即为 node_global 这个文件夹所在的路径
npm的配置
设置npm下载依赖包的位置
使用指令
bat
npm config lsbat
npm config set prefix "D:\nvm\nodejs\node_modules\node_global"
# 以下个人使用,与上面这条命令一样,按自己的修改上面的使用即可
npm config set prefix "E:\software\nodejs\node_modules\node_global"此指令表示npm下载的依赖包,将会放在node_global文件下
bat
npm config set cache "D:\nvm\nodejs\node_modules\node_cache"
# 以下个人使用,与上面这条命令一样,按自己的修改上面的使用即可
npm config set cache "E:\software\nodejs\node_modules\node_cache"此指令表示npm产生的缓存文件,将会在node_cache目录下
配置.npmrc文件
D:\nvm\nvm\v1*.**.0\node_modules\npm\.npmrc
添加一条 registry=https://registry.npm.taobao.org 设置淘宝镜像
使用 npm config set 指令添加文件地址与在 .npmrc文件内 直接添加文件地址 效果等同
npm config set registry https://registry.npmmirror.com旧的,已经不能使用了:
npm config set registry https://registry.npm.taobao.org
使用cnpm下载
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装(淘宝镜像)cnpm 指令
使用cnpm原因:由于npm的接口是github,国外网站在国内下载速度相对较慢,cnpm是的接口是淘宝镜像(淘宝镜像会定期更新github的源码),相对来说,国内的接口会更快一些,所以我们在全局安装cnpm指令以后,都用cnpm去安装依赖包
例:使用cnpm全局安装gulp依赖
bat
cnpm i gulp -gnpm 成功下载的依赖包 使用 -v指令 发现下载的包不存在的原因
出现该情况原因一般是环境变量没有配置好
在3.2设置环境变量PATH的路径 ,一定要和4.1设置npm依赖包的路径(npm config set prefix")相同,即 :
D:\nvm\nodejs\node_modules\node_global
npm下载的依赖包会在node_global文件下,因此,我们设置的环境变量的地址(全局的寻找范围)也应该是node_global 如果这两者不同,就会出现 依赖包寻找不到的情况
常用命令
nvm ls :列出所有已安装的 node 版本
nvm list :列出所有已安装的 node 版本
nvm list available :显示所有可下载的版本
nvm install latest:安装最新版 node
nvm install [node版本号] :安装指定版本 node
nvm uninstall [node版本号] :删除已安装的指定版本
nvm use [node版本号] :切换到指定版本 node
nvm current :当前 node 版本
nvm unalias [别名] :删除已定义的别名
其他
使用中出现的问题:
1、 默认nvm的安装地址:C:\Users\wds\AppData\Roaming\nvm
2、 cmd地址:C:\Windows\System32
3、 nvm use 版本报错,出现exit status 1后面跟一堆[乱码]
此时是因为无权限,打开c盘C:\Windows\System32找到[cmd]以管理员身份打开,再次使用nvm use 版本报错命令,成功切换
4、在c盘安装nvm与node 会出现node不能使用的情况,推荐使用其他盘符,并进行设置修改,新增
ruby
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/最好的安装的时候就把安装目录修改,不要在C盘,不要在C盘,不要在C盘。。。(重要的事情说三遍!!!)