目录
一、前言
二、NVM安装
三、配置下载源
四、nvm使用
五、安装nvm list available没有的版本
六、问题解决
一、前言
如果你开发 Node.js 项目,可能会遇到这些问题:
①新项目需要 Node.js 18,但老项目只能用 Node.js 14,手动切换很麻烦
②全局安装的 npm 包在不同版本下不兼容
③想测试新版本 Node.js,但又怕影响现有环境
NVM(Node Version Manager)就是解决这些问题的工具。它可以让你:
①一键安装多个 Node.js 版本
②快速切换不同版本
③不同项目使用不同 Node.js 环境
二、NVM安装
下载nvm-setup.zip,链接:https://github.com/coreybutler/nvm-windows/releases
自定义安装路径,比如我安装在:D:\software\nvm
设置nodejs的安装路径,注意该路径手动创建后会被nvm安装程序设置成软链接,如果安装后没有该路径不用再手动创建。
点击next安装,安装完成后在cmd窗口输入nvm v能查看到版本号即可
三、配置下载源
找到nvm安装路径下的setting.txt,加入以下配置即可:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
四、nvm使用
在cmd窗口输入nvm list可查看已经有的node版本,可简写成nvm ls:
使用nvm list available可查看源里面有的node版本:
需要安装node的话,使用nvm install 版本号即可,比如我下载一个node 22.8.0的版本:
如果要使用指定版本的node,使用命令nvm use 版本号即可。
五、安装nvm list available没有的版本
使用nvm list available显示可用版本基本都是最新的版本,有时候我们项目可能需要使用更老的版本,这时候可以自行下载老版本的压缩包,然后解压到nvm安装目录即可。
node下载地址:Node.js — Node.js Releases
比如我要使用14.7.0:
下载之后放到D:\software\nvm目录下,将文件夹名字改成v14.7.0即可:
再使用nvm ls可查看版本,使用nvm use 版本号即可使用
六、问题解决
1、如果nvm use xxx报错:
activation error: NVM_SYMLINK is set to a physical file/directory at D:\software\nodejs. Please remove the location and try again, or select a different location for NVM_SYMLINK
该问题是因为手动创建了nodejs的文件夹,删除手动创建的文件夹即可
2、使用node、npm命令时报错:
D:\web-space\halos-web-wes_overseas> node -v
v22.9.0
npm : 无法加载文件 D:\software\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ npm -v
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS D:\web-space\halos-web-wes_overseas> npm v
npm : 无法加载文件 D:\software\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
该问题是执行策略问题,使用管理员方式打开Powershell,使用命令将策略修改为RemoteSigned:
set-ExecutionPolicy RemoteSigned
命令get-ExecutionPolicy查看是否成功