nvm ls-remote
命令在使用时如果仅显示 iojs 版本,而不显示 Node.js 的版本,这通常是由镜像源原因造成的:
默认镜像源不可用或未更新
Node.js 的版本列表可能存储在特定的镜像源上,如果 nvm 默认使用的镜像源未及时更新或存在问题,就可能导致无法获取到最新的 Node.js 版本列表,而只显示旧版本的 iojs。
解决方案
Mac或Linux用户
可以通过设置环境变量 NVM_NODEJS_ORG_MIRROR
来指定一个可用的 Node.js 镜像源。将其添加到你的 ~/.bash_profile
、~/.bashrc
(对于 Bash 用户)或 ~/.zshrc
(对于 Zsh 用户)文件中。使用文本编辑器打开这些文件之一,并添加以下行:例如,可以使用官方的 Node.js 发布镜像源 http://nodejs.org/dist
:
保存文件后,你需要重新加载配置文件或重新打开终端窗口,以使更改生效。对于 Bash,你可以使用 source ~/.bashrc
;对于 Zsh,使用 source ~/.zshrc
。
再次执行nvm ls-remote
就会发现出现了很多node版本,如下所示:
此时,你就可以指定node版本进行安装了,如:nvm install v16.14.1
使用指定版本的node,如:nvm use v16.14.1
对于Windows用户
在 Windows 上,设置环境变量的方法略有不同。你可以通过以下步骤来设置 NVM_NODEJS_ORG_MIRROR
:
通过系统属性设置:
右键点击“此电脑”或“我的电脑”,选择“属性”。
点击“高级系统设置”。
在“系统属性”窗口中,点击“环境变量”按钮。
在“系统变量”区域,点击“新建”来创建一个新的环境变量。
变量名填写
NVM_NODEJS_ORG_MIRROR
,变量值填写你希望使用的镜像源 URL(如https://npm.taobao.org/mirrors/node/
)。点击“确定”保存设置,并关闭所有打开的对话框。
通过命令提示符(CMD)或 PowerShell:
你也可以在 CMD 或 PowerShell 中使用setx
命令来设置环境变量(注意:setx
设置的变量在新打开的 CMD 或 PowerShell 窗口中才会生效):注意:使用
setx
时,如果 URL 中包含空格,则需要将整个 URL 用引号括起来。注意
设置环境变量后,确保重新打开终端窗口或重新加载配置文件,以使更改生效。
替换 URL 时,请确保你选择的镜像源是可信的,并且提供了你需要的 Node.js 版本。
如果你使用的是 nvm-windows(Windows 上的一个 nvm 端口),请查阅其文档以了解如何设置镜像源,因为 nvm-windows 可能有自己的设置方法。
综上所述,当 nvm ls-remote
命令仅显示 iojs 版本时,首先应检查并尝试更换镜像源,同时确保网络连接稳定且 nvm 配置正确。如果问题依旧存在,可以考虑检查 nvm 的版本和系统环境等因素。
评论区