MacOS Ventura系统下无法安装better-sqlite3包求助
解决M2芯片MacOS Ventura下better-sqlite3安装失败问题
问题分析
从报错日志来看,核心问题集中在两点:
prebuild-install找不到适配arm64架构Ventura系统的预编译二进制包,只能走node-gyp编译流程- 编译过程中出现
/bin/sh: de: command not found和sqlite3.c文件缺失错误,大概率是项目路径包含空格导致脚本解析异常,加上Node16对M2 Ventura的兼容性不足
解决方案
1. 迁移项目到无空格路径
将项目从含空格的目录(如/Users/Maxime/Desktop/Projets de code/...)移到不含空格的路径,避免shell脚本解析错误:
mv /Users/Maxime/Desktop/Projets\ de\ code /Users/Maxime/Desktop/Projets-de-code
2. 升级Node.js到18 LTS版本
Node16对M2芯片和Ventura系统的编译支持存在局限性,升级到Node18 LTS可改善兼容性:
- 通过Homebrew安装:
brew install node@18 brew link node@18 --force - 若使用nvm管理版本:
nvm install 18 nvm use 18
3. 重置编译环境与依赖
# 删除旧依赖和锁文件 rm -rf node_modules package-lock.json # 清理npm缓存 npm cache clean --force # 重新安装依赖 npm install
4. 确保Xcode命令行工具配置正确
# 切换Xcode开发工具路径 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer # 接受Xcode许可协议 sudo xcodebuild -license accept
5. 验证brew依赖PATH配置
M2芯片的Homebrew默认安装在/opt/homebrew,确保该路径在系统PATH首位,避免依赖找不到:
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
内容的提问来源于stack exchange,提问作者MH info
相关产品推荐
相关产品推荐

