惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
Lohrmann on Cybersecurity
S
Secure Thoughts
I
Intezer
Forbes - Security
Forbes - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
H
Help Net Security
IT之家
IT之家
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
宝玉的分享
宝玉的分享
S
Securelist
T
The Exploit Database - CXSecurity.com
博客园 - 叶小钗
Security Latest
Security Latest
The Cloudflare Blog
Jina AI
Jina AI
T
Tenable Blog
J
Java Code Geeks
G
GRAHAM CLULEY
C
CERT Recently Published Vulnerability Notes
SecWiki News
SecWiki News
AI
AI
博客园 - 聂微东
S
Schneier on Security
博客园_首页
爱范儿
爱范儿
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 【当耐特】
T
Threatpost
Security Archives - TechRepublic
Security Archives - TechRepublic
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
W
WeLiveSecurity
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
S
Security Affairs
T
Tor Project blog
T
Tailwind CSS Blog
N
News | PayPal Newsroom
C
CXSECURITY Database RSS Feed - CXSecurity.com
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
The Register - Security
The Register - Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security

講評世界

My App Defaults 2023 读书的意义 そして、次の曲が始まるのです 从零开始的 RSSHub Docker 私有化部署指南 使用 Homebrew 安装 Typora 的 0.11.18 版本 使用 TypeScript 为 Vue 组件的 prop 标注类型 【译文】Grid 用于布局, Flexbox 用于组件 【译文】IndexedDB 为什么这么慢?如何更好的使用呢? Hello 2022 「他山之石」零贰 「他山之石」零壹 「言論」 零壹 给 icarus 主题增加所有文章的字数统计 hexo 无法在本地实时预览 JavaScript 立即调用的函数表达式(IIFE) m1 芯片安装 nvm 提示 command not found 如何在 JavaScript 完美的确定一个数据的类型 Cookie?小饼干! 使用 RSS 在推荐算法中获取主动权
解决 nvm 无法在 arm 架构下安装 V15 以下的 node 版本 的问题
Moeyua · 2021-11-08 · via 講評世界

迫于需要维护公司一个比较老的项目,所以在配置 macOS 环境的时候选择了使用 nvm 来管理多个 node,但是遇到了一些问题。

根据 nvm 官方文档的说法:

January 2021: there are no pre-compiled NodeJS binaries for versions prior to 15.x for Apple’s new M1 chip (arm64 architecture).

也就是说 M1 芯片( arm64 )现在并没有对应的预编译版本,所以安装之后需要进行编译。而在编译过程中会遇到一些问题:

  • 编译成功,但是因为内存不足而崩溃( crashes ),增加足够的 node 内存后再次尝试但依然提示内存不足;
  • 直接编译失败。

这里我遇到的是第二种情况,也就是直接编译失败。那么如何解决这个问题呢, nvm 其实在文档里给出了一个方案,这个方案有两个前提:

  • 使用 zsh
  • 已经安装好 Rosetta 2 macOS 应该在 macOS X 上的默认终端就已经是 zsh 了,而 Rosetta 2 如果在你第一次打开因特尔架构的软件时就已经安装过了,如果没有安装过也可以手动进行安装:
softwareupdate --install-rosetta

以上两个条件都满足之后我们就可以处理这个问题了。

  1. 首先检查自己的 node 架构,返回的结果应该是 arm64,这个是 M1 芯片的架构,也就是我们问题的元凶
node -p process.arch

# arm64
  1. 在 64 位 x86 架构下启动一个新的 zsh 进程;
arch -x86_64 zsh
  1. 下载你需要的 node 版本,这个 node 将会是 x86 架构的;
nvm install node
  1. 现在检查一下架构是否正确;
node -p process.arch

# x64
  1. 退出这个进程。
exit

到这里我们就成功的安装好了一个低版本的 node。