【踩坑记】Mac m1芯片安装node-sass报错问题

1,642 阅读1分钟

背景

拉取项目代码后npm install报错 image.png npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree

前两行报错的意思是说无法载入依赖树,不是很清楚具体原因。

⬇️

所以用yarn试了一下,yarn 之后,安装node-sass报错。

⬇️

于是用npm手动安装node-sass试了一下,依然失败报错。

⬇️

在npm的node-sass的README.md文件中发现以下node版本支持对应node-sass版本列表

image.png

查询到项目使用的node-sass v4.14.0,需要node v14支持,而我的node 是v16。

⬇️

找到原因后,就开始安装node v14。发现事情没那么简单。

m1芯片使用node v15.3.0以下版本会有兼容性问题,因为低版本的 node 并不是基于 arm64 架构的

⬇️

于是安装Rosetta,使用Rosetta打开终端/iterm,这样安装的npm包会经过Rosetta转译。 再nvm i 14可以安装node 14环境,使用nvm use 14.14.0,切换node版本。

⬇️

最后删掉下载失败的node_module,在Rosetta运行终端中,切换到node v14.14.0环境下,重新npm install,即可解决这个问题。