问题解决
如果尝试安装某个 Node.js 版本失败,请务必运行 nvm cache clear 来删除缓存的 Node.js 下载文件,否则可能会遇到以下错误:
curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.
macOS 故障排除
-
nvm node 版本在 vim shell 中找不到
如果将 node 版本设置为非系统版本(例如
nvm use 6.2.1),然后在 vim 中运行:!node -v发现显示的是系统版本(例如v0.12.7),则需要运行以下命令:
sudo chmod ugo-x /usr/libexec/path_helper
有关此问题的更多信息,请参见 dotphiles/dotzsh。
-
nvm 与 npm 配置中的 “prefix” 选项不兼容
一些解决此问题的方法可以在此处找到。
还有一个导致此问题的特例,即
$HOME路径与用户的实际主目录名称不匹配。你必须确保
$HOME中的用户目录名称与通过运行ls /Users/查看到的用户目录名称以相同的方式大写(请参阅此问题)。要更改用户目录和/或帐户名称,请按照此处的说明进行操作。
-
Homebrew 使 zsh 目录不安全
zsh compinit: insecure directories, run compaudit for list.
Homebrew 会导致不安全的目录,例如
/usr/local/share/zsh/site-functions和/usr/local/share/zsh。这不是一个 nvm 问题 - 它是一个 Homebrew 问题。有关与此问题相关的一些解决方案,请参见此处。 -
具有 Apple Silicon 芯片的 Mac
在 node.js v15.3 中添加了对 Apple Silicon 芯片架构的实验性支持,完整的支持是在 v16.0 中添加的。因此,如果尝试像往常一样安装旧版本的 node,可能会在安装 node 时遇到编译错误,或者在运行代码时遇到内存不足错误。
因此,如果想在 Apple Silicon Mac 上运行低于 v16.0 的版本,则最好编译 node,以针对 x86_64 Intel 架构,这样 Rosetta 2 就可以将 x86_64 处理器指令转换为基于 ARM 的 Apple Silicon 指令。你需要做以下操作:
- 安装 Rosetta,如果尚未安装
$ softwareupdate --install-rosetta
```
- 打开一个使用 Rosetta 运行的 shell
```bash
$ arch -x86_64 zsh
```
注意:这个终端会话现在正在运行 zsh。如果 zsh 不是你通常使用的 shell,nvm 可能不会像对于你通常的 shell 通过你的 dotfiles 自动 source 那样。如果是这种情况,请确保 source nvm。
```bash
$ source "${NVM_DIR}/nvm.sh"
```
- 安装你感兴趣的旧版本的 node。让我们以 v12.22.1 为例。这将获取 node 源代码并编译它,这将需要几分钟。
```bash
$ nvm install v12.22.1 --shared-zlib
```
注意:你可能想知道为什么包括 `--shared-zlib`。最近版本的苹果系统 clang 编译器中存在一个错误。如果你的系统上安装了其中一个损坏的版本,即使你没有包含 `--shared-zlib` 标志,上面的步骤也可能成功。但是,当你尝试使用旧版本的 node.js 安装 npm 包时,你将看到不正确的数据检查错误。如果要避免可能出现的麻烦,建议包含该标志。更多细节,请参见此问题和此注释。
- 退出回到你的本机 shell。
```bash
$ exit
```
```bash
$ arch
arm64
```
注意:如果在第二步中选择了标记为 "Open using Rosetta" 的框,而不是运行 CLI 命令,则会看到 i386。除非你有另一个原因选择了该框,否则现在可以取消选中它。
- 检查架构是否正确。x64 是 x86_64 的缩写,这是你希望看
相关内容
- 介绍 `nvm` 允许您通过命令行快速安装和使用不同版本的 node。就那么简单!
- 版权声明 版权所有 OpenJS 基金会 和 nvm 贡献者。保留所有权利。OpenJS 基金会 拥有注册商标并使用商标。有关 OpenJS 基金会 商标的列表,请参阅我...
- 下载 nvm 下载可以在 Github 官网进行下载,分别是nvm 源码版本和nvm-windows版本。 也可以在本站镜像下载,目前紧提供 nvm 的 Window...
- 安装 NVM 可通过 Windows 安装程序、Linux 和 Mac 的官方脚本、Git 克隆以及手动配置在不同平台上安装。
- 通过 Git 安装 NVM 通过 Git 安装 NVM,只需克隆 NVM 仓库并在 shell 配置文件中添加初始化脚本,然后重新加载配置文件即可。
- Linux 下安装 nvm 在 Linux 下安装 NVM 可以通过运行以下命令完成:`curl -o- https://raw.githubusercontent.com/nvm-sh/...