执行yarn install时出现binding.gyp变量standalone_static_library未定义错误
node-sass构建失败(MacOS+Node.js 20环境)
环境信息
- 系统:MacOS Monterey v12.6
- Node.js版本:v20.2.0
- Python环境:pyenv 2.3.18,已安装Python 2.7.18、3.9.6,
~/.zshrc配置了pyenv路径与Python别名 - 包管理器:yarn v1.22.19
报错核心
执行yarn install时node-sass编译失败,关键错误日志:
gyp: binding.gyp中变量standalone_static_library未定义,加载binding.gyp时出错 gyp ERR! configure error gyp ERR! stack Error: `gyp` 执行失败,退出代码: 1
解决方案
1. 优先方案:替换为dart-sass(推荐)
node-sass已停止维护,最高仅支持Node.js 16,完全不兼容Node.js 20,替换为官方维护的dart-sass是长期解决方案:
- 卸载node-sass:
yarn remove node-sass - 安装dart-sass(npm包名为
sass):yarn add sass --dev - 更新项目配置中所有
node-sass的引用,比如webpack配置、vue.config.js等,将node-sass替换为sass即可。
2. 临时兼容方案(仅用于无法替换的场景)
若必须保留node-sass,需降级Node.js版本到16.x:
- 使用nvm安装并切换到Node.js 16:
nvm install 16 nvm use 16 - 清理现有依赖重新安装:
rm -rf node_modules yarn.lock yarn install
3. 处理额外依赖警告
- 删除
package-lock.json避免多包管理器冲突:rm package-lock.json - 安装缺失的对等依赖:
yarn add @hotwired/stimulus@^3.1.1 sortablejs@^1.15.0 webpack@^4.0.0 --dev
内容的提问来源于stack exchange,提问作者aldrien.h
相关产品推荐
相关产品推荐

