Heroku部署Node.js应用时npm安装突然失败求助
Heroku部署Node.js应用报错:无法安装npm 8.49.2
- 机器人应用部署至Heroku后从未修改过package.json,此前部署正常,今日部署突然失败
- 未改动package.json与Heroku缓存,错误提示npm 8.49.2不存在
- 已尝试执行
heroku config:set NODE_MODULES_CACHE=false,问题仍未解决
错误日志
-----> Building on the Heroku-20 stack -----> Using buildpack: heroku/nodejs -----> Node.js app detected -----> Creating runtime environment NPM_CONFIG_LOGLEVEL=error NODE_VERBOSE=false NODE_ENV=production NODE_MODULES_CACHE=true -----> Installing binaries engines.node (package.json): 17.0.1 engines.npm (package.json): 8.49.2 Resolving node version 17.0.1... Downloading and installing node 17.0.1... Bootstrapping npm 8.49.2 (replacing 8.1.0)... Unable to install npm 8.49.2; does it exist? -----> Build failed We're sorry this build is failing! You can troubleshoot common issues here: https://devcenter.heroku.com/articles/troubleshooting-node-deploys If you're stuck, please submit a ticket so we can help: https://help.heroku.com/ Love, Heroku ! Push rejected, failed to compile Node.js app. ! Push failed
解决步骤
核实npm版本有效性
npm 8系列的最高版本为8.19.4,8.49.2是不存在的版本,大概率是package.json中engines.npm配置写错了。修正package.json配置
- 直接移除
engines.npm字段,让Heroku使用Node.js 17.0.1自带的npm 8.1.0; - 或者指定存在的兼容版本,比如
8.19.4,确保版本号正确。
- 直接移除
重新部署
修改后提交代码,重新推送到Heroku。若缓存仍有异常,可再次执行heroku config:set NODE_MODULES_CACHE=false后推送。
内容的提问来源于stack exchange,提问作者UnicornSnuggler
相关产品推荐
相关产品推荐

