node版本管理

了解 nvm-windows

Microsoft / npm /Google 为Windows推荐 了 Node.js 版本管理器。原始nvm是一个完全独立的项目,仅适用于 Mac/Linux。该项目使用完全不同的理念,而不仅仅是 nvm 的克隆。详细信息列在为什么另一个版本管理器?什么大的区别?

安装 nvm-windows

卸载任何预先存在的节点安装

在安装 NVM for Windows 之前卸载任何现有的 Node.js 版本(否则你会有冲突的版本)。%ProgramFiles%\nodejs删除任何可能保留的现有 Node.js 安装目录。(有的用户可能自定义路径了,找到 自己的 Node.js 安装目录,删除即可)

备份任何全局npmrc配置

例如%AppData%\npm\etc\npmrc。或者,将设置复制到用户 config %UserProfile%\.npmrc。删除现有的 npm 安装位置(例如%AppData%\npm)以防止全局模块冲突。

最后安装

  1. 下载安装包,选择 nvm-setup.zip,下载并解压自己想存放的文件路径。
  2. 双击 nvm-setup.exe,进入安装界面,选择 nvm-windows 的安装路径,这里我给的是E:\AppData\Roaming\nvm(可以不用提前创建好文件路径)。
  3. 点击下一步,是存放 nodejs 的路径,这里我给的是E:\DevTools\nodejs必须提前创建好文件路径,否则,后面 nvm use <version>时出现 exit status 错误)。
  4. 下一步, install 等待安装完成即可。

! 注意

安装 nvm-windows 时,选择存放 nodejs 的路径时,必须提前创建好想要存放它的路径,这里跟以往我们安装其他应用不一样,可能是 nvm-windows 的开发者忽略了这一点,“选择文件路径的同时会自动出创建对应的文件路径”。

对于选择存放 nodejs 的路径,是否可以如默认的一样C:\Program Files\nodejs,该路径名含有空格,可以尝试一下,后面nvm use <version>时,是否会报错提示 exit status 及乱码。

因为安装 nvm-windows 的同时,它会根据你所选的 2 个路径(一个是 nvm, 一个是 nodejs),默认配置好环境变量(包含用户环境变量和系统环境变量),所以,选择 nodejs 的有空格的路径时,是没有问题的,关键是必须提前创建好 nodejs 对应的存放路径

nvm 用法

NVM for Windows 是一个命令行工具。只需nvm在控制台中输入帮助即可。基本命令是:

  • **nvm arch [32|64]**:显示节点是在 32 位还是 64 位模式下运行。指定 32 或 64 以覆盖默认架构。
  • **nvm current**:显示活动版本。
  • **nvm install <version> [arch]**:版本可以是特定版本,“latest”表示最新的当前版本,或“lts”表示最新的 LTS 版本。可选地指定是安装 32 位还是 64 位版本(默认为系统架构)。将 [arch] 设置为“all”以安装 32 位和 64 位版本。添加--insecure到此命令的末尾以绕过远程下载服务器的 SSL 验证。
  • **nvm list [available]**:列出 node.js 安装。在末尾键入available以显示可供下载的版本列表。
  • nvm on: 启用 node.js 版本管理。
  • **nvm off**:禁用 node.js 版本管理(不卸载任何东西)。
  • **nvm proxy [url]**:设置用于下载的代理。留空[url]以查看当前代理。设置[url]为“无”以删除代理。
  • **nvm uninstall <version>**:卸载特定版本。
  • **nvm use <version> [arch]*:切换到使用指定的版本。可选择使用latest,ltsnewest. newest是最新安装*的版本。可选择指定 32/64 位架构。nvm use <arch>将继续使用所选版本,但切换到 32/64 位模式。有关use在特定目录中使用(或使用.nvmrc)的信息,请参阅问题 #16
  • nvm root <path>: 设置 nvm 应该存放不同版本的 node.js 的目录。如果<path>未设置,将显示当前根目录。
  • **nvm version**:显示当前运行的 NVM for Windows 版本。
  • **nvm node_mirror <node_mirror_url>*:设置节点镜像。国内的人可以使用https://npmmirror.com/mirrors/node/*
  • **nvm npm_mirror <npm_mirror_url>*:设置 npm 镜像。中国的人可以使用https://npmmirror.com/mirrors/npm/*

实践

如果在使用nvm use <version>时,出现报错提示,“exit status 乱码”,那就得问问自己,nodejs 的真实存放路径是否有提前创建好;执行nvm use <version>的命令环境是否通过管理员权限打开的。另外,网友给出, nodejs 存放路径包含空格或中文了。总之,你们尽可一一尝试,改正即可。

最后,如果打开 vscode 的命令行,输入 nvm、node、npm 等对应命令,是无效的,这时,重启电脑,命令即可生效,而不是重启 vscode。

相关链接

[1] 适用于 Windows 的 NVM

[2] 使用 nvm 管理不同版本的 node 与 npm