You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Macbook Air M1下Angular项目因/deep/选择器构建失败求助

Angular M1设备构建时/deep/选择器报错解决方案

问题场景

在Macbook Air M1设备上构建企业Angular项目时出现以下报错:

/deep/ nb-card.popover-card {
^
Expected selector.
╷
400 │ /deep/ nb-card.popover-card{
│ ^
╵

Windows环境构建正常,已核对Node、Angular、node-sass版本,重装node_modules后问题仍存在,且无法修改项目代码。

解决办法

  • 用Rosetta 2转译终端运行:打开访达→应用程序→实用工具→终端,右键选择「显示简介」,勾选「使用Rosetta打开」,重启终端后重新执行构建命令。M1的ARM架构对部分旧版sass依赖支持不佳,转译x86架构可兼容这类依赖。
  • 强制安装x86架构的node-sass:执行命令 npm install node-sass --arch=x64 --platform=darwin,指定安装适配x86的版本,绕开ARM架构下的语法解析问题。
  • 切换到与Windows环境一致的Node稳定版:用nvm(Node版本管理器)安装并切换到项目适配的Node版本,比如 nvm install 14.18.1 && nvm use 14.18.1,新版本Node在ARM架构下可能和旧Angular项目的预处理器存在兼容性问题。
  • 彻底清理缓存后重装依赖:执行 npm cache clean --force,删除node_modules和package-lock.json文件,再重新执行 npm install,避免缓存中的ARM架构依赖残留。

内容的提问来源于stack exchange,提问作者jonathan_OJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:12:08