nvm包管理器使用和问题总结

92 阅读3分钟

前言

今日在运行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,如下,表示安装成功

image.png

  3、(重要) 设置 node 和 npm 镜像地址 此时输入nvm list available,发现如下问题, image.png 在nvm安装目录,找到 setting.txt加上如下两行可解决

node_mirror:npm.taobao.org/mirrors/node/

npm_mirror:npm.taobao.org/mirrors/npm/

添加后如下图所示:

image.png

此时在次nvm list available,成功如下图

image.png 4、(重要) 安装你要的nodejs版本,必须是npm和nodejs都成功,因为有时候会npm或者nodejs不会下载成功,不成功的原因很多,前提必须按我的这个步骤,并且是之前没有装nodejs,或者是卸载干净了nodejs。通过nvm list available命令查看可下载的nodejs版本信息,根据需要下载对应的版本,LTS列表示稳定版本。

nvm install 版本号;发现安装高版本没问题,低版本node可以安装,npm安装失败

image.png

image.png

打开进入nvm目录查看两者差别,如下:

image.png

成功如下图是ok的****************************************************************

image.png

下图是不行的,但是 你可以自己去下载一个nodejs版本,但后解压后放复制到nvm目录,注意命名,如:v6.17.1,这样就不需要使用 nvm install 命令,

image.png 下载地址:Index of /download/release/ (nodejs.org)

最终结果如下

image.png 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 查看当前的版本