背景:
刚换完 Mac(M3 芯片),准备美滋滋的启动 vue 项目,可是在安装依赖时 node-sass 怎样都装不上,耽误了我整整一天的时间,于是周末的时候在网上疯狂寻找解决方案,找了半天都没有发现比较完整的方案,基本上所有能找到的都尝试过了,最终都没能成功。
冷静片刻,我便在众多的解决方法中开始总结,被折磨大半天之后,终究还是被我拿下了。我相信肯定不止我一个人遇到了这个问题,当然我也不知道各位大佬都是怎样解决的(欢迎各位大佬留言交流),写下这篇文章主要是希望能帮助到遇到相同问题的前端开发同学,其次也是为了记录一下我的解决方案,以后要是忘记了还能回来看一看。
下面让我们进入正题~
1. 将终端设置成使用 Rosetta 打开(关键)
1.1 在 finder 中搜索终端,右键“显示简介”
1.2 勾选使用 Rosetta 打开
1.3 如果此时你有打开终端,请先在程序坞退出
1.4 再次打开终端
在终端中输入 arch 或 uname -m 查看当前环境
此时你的终端已经从 arm 架构切换成了 X86_64 架构
node-sass 无法安装和运行的关键原因就是不支持先进的 arm 架构芯片,现在官方也推荐使用 sass,将不再维护 node-sass
我也尝试过使用 sass 去替代 node-sass,但是这是一个旧项目,涉及改动的地方太多太多,没办法只能硬着头皮上
此时终端的环境配置完成~
2. 下载安装 node 和 npm
我使用的是 nvm 包管理工具,nvm 安装教程网上有很多,这里就不再赘述。
使用nvm 安装node 包时会根据当前架构环境自动选择不同版本的包
如果你在 arm 架构时已经安装了 node 和 npm,请先卸载已安装的包,你需要安装 X86_64 架构的 node 和 npm 包
nvm 常用的命令:
nvm uninstall vxxx 卸载指定版本
nvm ls-remote 查看全部版本
nvm install vxxx 安装指定版本
nvm alias default vxxx 指定为默认版本
nvm use vxxx 使用指定版本
请注意你的 node版本和 node-sass 版本是否兼容:
3. 安装依赖
当所有环境一切准备就绪,就可以开始安装依赖啦!
我在安装依赖时再次遇到问题:
用 yarn 安装会报以下错,没搞明白是什么原因,要是有知道原因的大佬我愿意虚心请教~
用 cnpm 安装时跑项目会报错:
安装提示安装了对应依赖还是跑不起来项目。
这两个问题确实不知道什么原因,最后用了一个不是很优雅的方式解决了,我用 yarn 安装了除 node-sass 之外的依赖,使用 cnpm 安装 node-sass 依赖。
功夫不负有心人,努力了一天可算是跑起来了~