如何在 Apple Silicon M1 上原生安装 NodeJS?
Posted
技术标签:
【中文标题】如何在 Apple Silicon M1 上原生安装 NodeJS?【英文标题】:How to install NodeJS natively on Apple Silicon M1? 【发布时间】:2021-03-02 02:52:06 【问题描述】:我正在尝试在新的 Apple Silicon MacBook Pro 上安装 NodeJS,但我无法找到将它安装在基于 ARM 的 Apple M1 上的方法。
标准安装将在 Intel 仿真模式下运行,但我看到他们已经有一个 ARM Linux 版本,我认为它不适合 M1 Macs。
如果可能,我如何在 Apple Silicon 上安装 Node.JS 而无需在仿真模式下运行?
【问题讨论】:
This question is discussed on meta @Lucki:我重新表述了你的问题,使它听起来不像是对场外资源的请求。如果您不喜欢该修改,请随时回滚。 此问答提供了配置 M1 Mac 以运行所有版本节点的重要信息。 【参考方案1】:主要的 Node.JS 存储库有 Issue #2747,昨天通过 Rosetta 2 更新为 a note that current versions of Node compile just fine with no modifications required。同一篇文章表明仍有“工作要做”来将 Node 编译为 M1-本机二进制文件可释放额外的性能优势。
其他资源:
Node.JS 技术指导委员会开设了Issue #886 in their GitHub repository 以跟踪 Node 对 Apple Silicon 的支持。【讨论】:
为了跟进这一点,我使用 NVM 通过下载 Intel 版本的 Hyper.js 并将其作为“Hyper Intel”复制到应用程序来安装 x86。然后我运行 nvm uninstall 12 (需要使用 Arm 版本)和 nvm install 12 并安装了 x86 版本。这现在运行 Rosetta 下的所有节点 12 应用程序,允许我升级到适合我自己时间的版本。【参考方案2】:遇到类似的问题。我建议您在终端上启用“使用 Rosetta 打开”,这应该可以暂时减少所有的痛苦。启用此功能后,我可以毫无问题地安装 Node 以及 Homebrew 等。 要做的事情:
-
在 Finder 中右键单击您的终端应用
选择“获取信息”
启用“使用 Rosetta 打开”
注意我在下面的屏幕截图中使用 iTerm,但同样适用于终端
【讨论】:
FWIW:iTerm 不是 Terminal.app。 没错,但很多人用它来代替终端,并这么想,因为当有人说在终端做某事时,他们会去 iTerm。 解决方案对我不起作用,无论如何我都会遇到同样的错误。以上是关于如何在 Apple Silicon M1 上原生安装 NodeJS?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Apple Silicon (ARM / M1) 上安装 SciPy
在 Apple Silicon M1 Mac 上安装 Cryptography
解决在Apple Silicon (M1)安装php MongoDB扩展失败
在 M1 芯片上运行 rails 时出错(Apple Silicon)
如何修复 iOS 模拟器 [native-run] ERR_DEVICE_LOCKED:在 Apple Silicon (M1) 上 1 分钟后设备仍被锁定?