前端Node环境安装:NVM安装详细教程
可以自由切换Node版本,安装NVM、Node、NPM、CNPM、Yarn及环境变量配置。
需求说明
在做前端开发的时候,有的时候这个项目需要Node 14,那个项目需要Node 16,我们也不能卸载安装。这岂不是很麻烦。这个时候就需要一个工具来管理我们的Node版本和NPM版本。
下面就分享一个NVM工具用来管理Node版本。这个NVM和Java的MVN命令很像,大家不要用混了。
注:下面的所有CMD打开都要以管理员运行,否则命令有可能不生效。
NVM官网地址
- 官网地址:https://nvm.uihtm.com
- GitHub地址(下载最新版本):
NVM常用命令
nvm -v # 查看当前版本
nvm --config # 查看配置
nvm list available # 查询可以下载的node版本
nvm list # 查看已安装node版本列表
nvm install 版本号 # 下载对应node版本
nvm use 版本号 # 切换node版本
nvm on # 开启nvm
nvm off # 关闭nvm安装NVM
注:大家可以去下载高版本的,以下的那些环境变量配置可以跳过,他会自动写入进去。我下载的是1.1.12版本。

解压出来,下一步下一步安装,不建议安装到C盘。


安装完成后,修改镜像源加快下载速度,把下面命令复制到settings.txt文件中:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

保存即可。
NVM配置环境变量(选配)
默认安装后会自动配置,低版本的好像需要自己去配置。
需要配置:%NVM_HOME% 和 %NVM_SYMLINK%

最后管理员运行CMD验证安装情况。

文件夹里的情况:

Node环境变量配置
对于怎么配置环境变量常量和环境变量里的PATH常量的这里就不说了。
修改全局安装的模块路径和缓存路径,这样不占用C盘。
创建文件夹
先创建两个文件夹:
- nodeCache
- nodeGlobal

配置npm路径
创建完两个文件夹后,在CMD窗口中输入以下命令(路径按照自己的存储地址修改):
npm config set prefix "D:\app\nodejs\nvm\nodeGlobal"
npm config set cache "D:\app\nodejs\nvm\nodeCache"检查环境变量
系统变量和用户变量都要加,方便后续使用。
如果有C:\Users\用户名\AppData\Roaming\npm,修改为D:\app\nodejs\nvm\nodeGlobal(我们自己建的路径);如果没有,就新建D:\app\nodejs\nvm\nodeGlobal。
这个PATH常量下:

接下来再创建一个环境变量NODE_PATH:
变量值如下,就是刚刚我们创建的全局文件夹后面加一个node_modules:
D:\app\nodejs\nvm\nodeGlobal\node_modules

设置淘宝镜像并查看
建议用管理员权限执行CMD,因为他要写入你磁盘有可能没权限。
npm config set registry https://registry.npmmirror.com/
npm config get registry全局安装CNPM
npm install -g cnpm --registry=https://registry.npmmirror.com/
# 或
npm install -g cnpm常见问题解决
我在执行npm install -g cnpm报错,说什么权限不足:
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.百度后又是让给自己创建的文件夹权限又是清除C盘下的.npmrc文件,但是对于我来说都没用。如果你也遇到这个问题,看了网上清除了.npmrc文件,那你上面执行的npm config set命令都会失效,需要重新执行。
最后有一篇文章解决了问题。因为我使用的是Node 14.5,所以在安装CNPM指定一下版本即可,应该是依赖关系的问题,要对应版本下载。
npm install -g cnpm@7.1.1
Yarn安装
npm install yarn -g验证我们文件夹生效了,去查看文件夹里是否有内容。
