M1 Pro芯片执行npm rebuild node-sass崩溃,遗留项目如何解决?
M1 Pro芯片Mac下node-sass兼容性问题解决记录
问题背景
- 更换搭载M1 Pro芯片的Mac后,发现node-sass与芯片存在兼容性冲突
- 维护遗留项目,大量依赖包已废弃,无法通过替换为sass或升级Node版本的方案解决(重构成本过高)
- 尝试执行
npm rebuild node-sass修复,环境为Node 16.20.1 + node-sass 6.0.1,出现以下报错:
2 warnings generated. npm ERR! In file included from ../src/libsass/src/values.cpp:3: npm ERR! In file included from ../src/libsass/src/values.hpp:4: npm ERR! ../src/libsass/src/ast.hpp:1614:25: warning: loop variable 'numerator' creates a copy from type 'std::string const' [-Wrange-loop-construct] npm ERR! for (const auto numerator : numerators) npm ERR! ^ npm ERR! ../src/libsass/src/ast.hpp:1614:14: note: use reference type 'std::string const &' to prevent copying npm ERR! for (const auto numerator : numerators) npm ERR! ^~~~~~~~~~~~~~~~~~~~~~ npm ERR! & npm ERR! ../src/libsass/src/ast.hpp:1616:25: warning: loop variable 'denominator' creates a copy from type 'std::string const' [-Wrange-loop-construct] npm ERR! for (const auto denominator : denominators) npm ERR! ^ npm ERR! ../src/libsass/src/ast.hpp:1616:14: note: use reference type 'std::string const &' to prevent copying npm ERR! for (const auto denominator : denominators) npm ERR! ^~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! & npm ERR! 2 warnings generated. npm ERR! env: python: No such file or directory npm ERR! make: *** [Release/sass.a] Error 127 npm ERR! gyp ERR! build error npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2 npm ERR! gyp ERR! stack at ChildProcess.onExit (/Users/valenty/project/node_modules/node-sass/node_modules/node-gyp/lib/build.js:194:23) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28) npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12) npm ERR! gyp ERR! System Darwin 23.0.0 npm ERR! gyp ERR! command "/Users/valentyn/.nvm/versions/node/v16.20.2/bin/node" "/Users/valenty/project/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" npm ERR! gyp ERR! cwd /Users/valentyn/project/node_modules/node-sass npm ERR! gyp ERR! node -v v16.20.2 npm ERR! gyp ERR! node-gyp -v v7.1.2 npm ERR! gyp ERR! not ok npm ERR! Build failed with error code: 1
尝试过的无效方案
- 通过Rosetta运行
npm rebuild node-sass,问题未解决
可行解决方案
将node-sass包升级至最新版本后,兼容性问题得以解决,且无需对项目进行大量重构
内容的提问来源于stack exchange,提问作者Valentyn
相关产品推荐
相关产品推荐

