早就听说苹果M1芯片很强,以至于快的连angular 1.0的古老项目都可以快速响应~ 心心念念已久,最近咬牙搞了一台 Mac mini M1(16+512) 来做主力开发机,体验了一番,软件兼容性都挺好,除了个别官方还没有提供支持M1的软件在安装时提示需要装Rosette之外(目前来看只会在第一次安装需要Rosette的软件才会提示),正常使用时与英特尔版本下的毫无差别,不过在使用nvm安装node.js时会遇到一些问题,问题如题,基本情况如下:
- 硬件信息:Mac mini M1
- 操作系统版本:macOS Big Sur 11.2.3
- 安装Node版本:8.17.0
使用 nvm install v8 或 v7 的时候都会报错,大概意思是不支持 arm 架构,如下:
安装 node 7 的时候提示这个:
稳住,别慌,有三种方式解决:
-
方法一:Rosette方案——在应用程序中,找到终端或iTerm2,右键-显示简介-勾选【使用Rosette打开】,然后执行
nvm install v8,这样就可以愉快的安装了 -
方法二:在终端执行
arch -x86_64 zsh,然后再执行nvm install v8; -
方法三:搬砖法,因为在执行
nvm install的时候会找对应的arm64版本的node包,低版本的node可能就404了,也无法本地编译(node v12 是可以通过本地编译成功安装的),可以手动将对应版本的node包下载过来放到nvm的缓存目录,改个带arm64的名称(和nvm安装时下载的那个文件名保持一致),这样就可以安装了,这个方法 @yibinlin(林溢彬) 童鞋尝试过,并成功安装。
以上三种方法第一种是最简单的,第二种执行完 arch -x86_64 zsh 后会因为变换了 shell 环境,识别不了nvm命令,需要处理一下……如果有其他的安装姿势,欢迎补充~ 好了,选择自己喜欢的方式安装吧。