Heroku部署遇'yarn: not found'与errno ENOENT错误,求解决方案
解决Heroku部署时「yarn: not found」错误的方案
- 清理npm锁文件:如果换笔记本后用npm安装过依赖,项目里大概率会生成
package-lock.json,Heroku会优先识别这个文件并使用npm部署,直接删掉该文件即可。 - 更新
package.json的engines配置:在现有配置里补充你本地使用的yarn版本(执行yarn --version可查看),示例如下:
"engines": { "node": "14.15.1", "npm": "6.14.8", "yarn": "1.22.19" // 替换成你本地的yarn版本号 }
这一步是明确告诉Heroku需要安装指定版本的yarn,避免环境不匹配。
- 提交代码并重新部署:
git add package.json git rm package-lock.json # 仅当该文件存在时执行 git commit -m "切换为yarn部署Heroku项目" git push heroku main
- (可选)强制Heroku使用yarn:如果上述步骤未生效,设置环境变量强制启用yarn:
heroku config:set USE_YARN=true
设置完成后重新推送代码即可。
部署完成后,可通过heroku logs --tail查看日志,若出现「Installing yarn」或「yarn install」相关内容,说明问题已解决。
内容的提问来源于stack exchange,提问作者behappy8
相关产品推荐
相关产品推荐

