当用brew等为Apple Silicon Mac安装Node,有可能安装的是x64版本Node,不是arm版本。
node -p "process.arch"
x64
该x64版Node一般通过Rosetta转译运行在M1 mac平台上,内存占用大些,性能会稍微差点。
虽然能兼容大部分应用,但不支持特定与arm64绑定的应用,比如puppeteer。
这里尝试参考网络资料,尝试为Apple Silicon Mac安Node Arm版本的Node。
1 查看node架构
在iterm中通过终端命令检查node的架构
% node -p "process.arch"
x64
x64说明运行的是Intel版Node,不是ARM原生版,Node.js 采用的是x64/Rosetta 转译模式。
2 卸载x64版node
如果当前node是通过brew 安装的,可以运行如下命令卸载
brew uninstall node
如果是通过nvm安装,可以直接跳过卸载环节,安装新版本的node即可。
在m1 mac中nvm安装的新版本node,一般都会是arm版本。
nvm是node版本管理工具,在mac平台安装nvm,参考如下链接
https://blog.csdn.net/liliang199/article/details/163282116
3 安装arm版node
使用nvm安装最新稳定版node,因为是在m1 mac平台,安装的一般会是arm64版本Node。
示例如下
% nvm install --lts
Installing latest LTS version.
Downloading and installing node v24.19.0...
Downloading https://nodejs.org/dist/v24.19.0/node-v24.19.0-darwin-arm64.tar.xz...
##################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v24.19.0 (npm v11.17.0)
这里啊你在的是v24.19版本的node,安装完成后切换到新版本。
%nvm use v24.19.0
Now using node v24.19.0 (npm v11.17.0)
然后检查新版本node。
%node -p "process.arch"
arm64
输出是arm64,说明当前运行的是arm原版的node,安装成功。
reference
如何在mac系统安装和切换node版本
https://blog.csdn.net/liliang199/article/details/163282116
在Mac M系列芯片上通过VSCode配置ARM原生Node开发环境