是时候学习一下NVM了

前言

在工作中我们肯定会接触到形形色色的项目,避免不了就可能会用到不同版本的NodeJs,如果你每次都是卸载重装反复循环简直是恶心的要命-如下图👇,这时候nvm就派到用场了。

nvm是什么?

Node Version Manager,也就是说NVMNode.js的版本管理器📞,通过NVM我们就可以安装多个不同版本的Node.js并在需要的时候进行切换🥙。

安装前提

如果之前你的电脑中有NodeJs🤣,网上有的说是不需要卸载,直接安装nvm就可以,在安装过程中会提示你将本地安装的NodeJs加入到NVM管理中✊。我尝试了很多次,安装NVM成功之后无法切换NodeJS版本,并且找不到之前安装的NodeJs😴,所以还是强烈建议大家在安装nvm之前卸载NodeJs😛,要不然会有很多坑,将所有版本的NodeJs都通过NVM来管理🎑。

完整卸载NodeJs

  • 从卸载程序卸载程序和功能。

  • 寻找这些文件夹并删除它们。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在(全局安装的依赖包无法使用均要删除):

C:\Program Files (x86)\Nodejs

C:\Program Files\Nodejs

C:\Users\{User}\AppData\Roaming\npm(或%appdata%\npm)

C:\Users\{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache)

  • 检查您的%PATH%环境变量以确保没有引用Nodejsnpm存在(高版本的NodeJs会自动清除环境变量)。

  • 重新启动电脑。

安装NVM过程

nvm安装的时候需要选择两个路径,一个是nvm对应的路径以及通过nvm下载NodeJs的安装路径,然后一直下一步就可以🙂。

注:路径中不能有空格和中文

  • 安装成功之后就会变成下图,会自动生成动态的环境变量

  • 设置淘宝镜像 打开settings.txt增加下面两句话
    1
    2
    node_mirror: https://npm.taobao.org/mirrors/node/
    npm_mirror: https://npm.taobao.org/mirrors/npm/

    npm设置淘宝镜像和cnpm的区别

nvm 语法

  • nvm list

可以列出你在本地电脑通过nvm方式安装的NodeJs版本

  • nvm list available

可以列出远端可用的NodeJS版本LTS代表稳定版本

  • nvm install 版本号

下载远端指定的NodeJS版本,自动下载配套的npm

  • nvm use 版本号

切换NodeJs版本(一定要以管理员的身份打开cmd进行切换否则会报错🍤)

文件夹详解

当你安装了多个版本的NodeJS之后在对应的nvm文件夹中就可以看到多个版本的NodeJS,每个版本都是相互隔离的。

疑问: 在安装nvm的时候不是选择了nvm下载NodeJs的安装路径吗?怎么全部跑到了nvm的目录下。

解释: 可以看这篇文章后半部分nvm版本的切换实质。

全局安装依赖

全局安装依赖是根据当前正在使用的nodejs版本进行安装的比如在NodeJs_14.16.0中使用了如下命令

1
npm install -g cnpm 

cnpm只是在NodeJS_14.16.0的版本中使用,切换到其他版本的nodeJS还是会显示如下提示

原因就是因为不同的NodeJS版本是相互独立的。

总结

nvm还有好多好用的点需要我们一点一点去探索,目前我只用到了这些,也已经可以满足日常的工作了🥠,喜欢研究的小伙伴可以在网上自行研究哦🤙🤙🤙

参考链接

cnpm与npm

NVM、NPM、Node.js的安装选择


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!谢谢