mac m1安装node-sass遇到编译问题
根目录下创建.node-gyp-config.json文件{"target":"16.20.2","arch":"arm64","platform":"darwin","sdk":"/Library/
on
2026/01/08根目录下创建 .node-gyp-config.json 文件
{
"target": "16.20.2",
"arch": "arm64",
"platform": "darwin",
"sdk": "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"
}
编写 install-node-sass.sh 脚本
#!/bin/bash
# 修复 node-sass 在 macOS arm64 上的编译问题
echo "正在设置编译环境..."
# 1. 设置 SDK 路径(最关键)
export SDKROOT=$(xcrun --show-sdk-path)
echo "SDKROOT: $SDKROOT"
# 2. 设置 C++ 标准库路径(关键!)
export CPLUS_INCLUDE_PATH=/Library/Developer/CommandLineTools/usr/include/c++/v1:$SDKROOT/usr/include/c++/v1:$SDKROOT/usr/include
# 3. 设置 C include 路径
export C_INCLUDE_PATH=$SDKROOT/usr/include
# 4. 设置编译器
export CC=clang
export CXX=clang++
# 5. 设置编译标志
export CPPFLAGS="-I$SDKROOT/usr/include/c++/v1 -I$SDKROOT/usr/include"
export CXXFLAGS="-I$SDKROOT/usr/include/c++/v1 -I$SDKROOT/usr/include"
export LDFLAGS="-L$SDKROOT/usr/lib"
# 6. 设置 Node.js 镜像
export NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
# 7. 清理之前的构建
echo "清理之前的构建..."
rm -rf node_modules/node-sass/build
rm -rf node_modules/node-sass/.node-gyp
# 8. 安装 node-sass
echo "开始安装 node-sass..."
npm install node-sass --verbose
运行
# 1. 给脚本添加执行权限
chmod +x install-node-sass.sh
# 2. 运行脚本
./install-node-sass.sh
