Mac下Node.js安装后Heroku推送失败,Webpacker版本不符求助
问题分析与解决方案
不用把/usr/local/Cellar加到你的$PATH里哦——问题根本不在你本地的配置上,而是Heroku是在它自己的远程服务器环境中构建你的应用,完全不会用到你本地的Node版本和PATH设置!
你本地的node --version显示v9.4.0是正常的,但Heroku默认可能会调用一个旧版本的Node(就是报错里的0.10.30),所以你需要明确告诉Heroku你要使用的Node版本。
解决步骤
你可以通过以下两种方式指定Heroku使用的Node版本:
- 创建
.nvmrc文件
在你的项目根目录新建一个名为.nvmrc的文件,内容直接写你需要的Node版本号:v9.4.0 - 在
package.json中添加engines字段
打开项目的package.json,在顶层添加如下配置(可以根据你的实际npm版本调整):"engines": { "node": ">=9.4.0", "npm": ">=5.6.0" }
完成以上任意一种配置后,记得把修改后的文件提交到Git:
git add .nvmrc # 或者执行 git add package.json git commit -m "Specify Node.js version for Heroku deployment" git push heroku main
额外检查
如果推送后还是有问题,可以查看Heroku的构建日志,确认它是否已经使用了你指定的Node版本——日志里会有类似Installing node v9.4.0的提示。
内容的提问来源于stack exchange,提问作者Simon Cooper
相关产品推荐
相关产品推荐

