MacOS升级Node.js至20.15后Serverless v4报错exit status 1
解决MacOS下Node.js 20.15 + Serverless v4的"exit status 1"错误
以下是针对这个问题的具体排查和修复步骤:
彻底清理Serverless残留文件与缓存
- 卸载全局Serverless:
npm uninstall -g serverless - 删除本地缓存目录:
rm -rf ~/.serverless - 强制清理npm缓存:
npm cache clean --force
- 卸载全局Serverless:
重新安装Serverless v4
用npm重新全局安装指定版本:npm install -g serverless@4
如果npm安装仍有问题,可尝试用pnpm或yarn替代(前提已安装):pnpm add -g serverless@4,不同包管理器的依赖处理逻辑可能避开冲突。检查Node.js环境与权限
- 确认当前全局Node.js版本为20.15:
node -v,若用nvm管理版本,执行nvm use 20.15切换 - 排查全局npm目录权限问题,避免因权限不足导致命令执行失败:
- 查看目录权限:
ls -la $(npm prefix -g) - 修复权限:
sudo chown -R $USER $(npm prefix -g)
- 查看目录权限:
- 确认当前全局Node.js版本为20.15:
开启调试模式获取详细错误
执行命令时添加调试参数,查看具体错误堆栈以定位根源:- 查看版本:
serverless --version --verbose - 更新命令:
serverless update --debug
- 查看版本:
检查系统依赖
确保MacOS基础开发工具为最新:执行xcode-select --install更新Xcode Command Line Tools,部分Node.js工具依赖这些系统组件。
内容的提问来源于stack exchange,提问作者3rdSenna
相关产品推荐
相关产品推荐

