前言
今日在运行github上一个开源node项目的时候,npm install总是报错;各种一顿操作,终不得解;查看我本地node是v21.7.1;npm版本是10.2.4;查看项目中package.json发现node和npm的版本如下,
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
怀疑是我本地node版本过高导致,所以尝试降级node和npm解决;由此引入了nvm,但同时遇到了nvm的一些问题;故而将nvm使用和解决的问题做一个总结
一、什么是nvm?
nvm就是nodejs version manage 叫做nodejs 版本管理,而nodejs有很多版本,场景如下:
1、而你手上开发的有多个项目又分别是不同的nodejs版本,咱们就可以用nvm轻松切换!
2、假设你正在开发的项目开始使用的nodejs版本是8.0,而现在因为某些原因,你需要升级 或者 降级 nodejs 版本,也可以使用 nvm 轻松切换
二、搭建步骤:
1、下载nvm github.com/coreybutler… ,解压并且安装(如果电脑已经安装node,安装前先将本地node卸载)
2、打开 cmd , 输入 nvm -v,如下,表示安装成功
3、(重要) 设置 node 和 npm 镜像地址
此时输入nvm list available,发现如下问题,
在nvm安装目录,找到 setting.txt加上如下两行可解决
node_mirror:npm.taobao.org/mirrors/node/
npm_mirror:npm.taobao.org/mirrors/npm/
添加后如下图所示:
此时在次nvm list available,成功如下图
4、(重要) 安装你要的nodejs版本,必须是npm和nodejs都成功,因为有时候会npm或者nodejs不会下载成功,不成功的原因很多,前提必须按我的这个步骤,并且是之前没有装nodejs,或者是卸载干净了nodejs。通过nvm list available命令查看可下载的nodejs版本信息,根据需要下载对应的版本,LTS列表示稳定版本。
nvm install 版本号;发现安装高版本没问题,低版本node可以安装,npm安装失败
打开进入nvm目录查看两者差别,如下:
成功如下图是ok的****************************************************************
下图是不行的,但是 你可以自己去下载一个nodejs版本,但后解压后放复制到nvm目录,注意命名,如:v6.17.1,这样就不需要使用 nvm install 命令,
下载地址:Index of /download/release/ (nodejs.org)
最终结果如下
5、切换版本
nvm use 版本号
这样就好了,node和 npm都好了
6、nvm命令:
1,nvm nvm list 是查找本电脑上所有的node版本
-
nvm list 查看已经安装的版本
-
nvm list installed 查看已经安装的版本
-
nvm list available 查看网络可以安装的版本
2,nvm install 安装最新版本nvm
3,nvm use ## 切换使用指定的版本node
一般这几个命令就够了,还想了解的可以往下看
4,nvm ls 列出所有版本
5,nvm current显示当前版本
6,nvm alias ## 给不同的版本号添加别名
7,nvm unalias ## 删除已定义的别名
8,nvm reinstall-packages ## 在当前版本node环境下,重新全局安装指定版本号的npm包
9,nvm on 打开nodejs控制
10,nvm off 关闭nodejs控制
11,nvm proxy 查看设置与代理
12, - nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 Index of /dist/ (nodejs.org)
- nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: github.com/npm/npm/arc…
13,nvm uninstall 卸载制定的版本
14,nvm use [version] [arch] 切换制定的node版本和位数
15,nvm root [path] 设置和查看root路径
16,nvm version 查看当前的版本