You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 6.1项目部署Heroku遇Yarn --production=false语法错误求助

解决Rails 6.1部署Heroku时Yarn --production=false 语法错误

问题根源

Heroku当前使用的Yarn版本(尤其是Yarn 2及以上)不再支持--production=false这种旧写法,你的项目部署流程里仍在传递这个无效参数,导致报错。

修复步骤

1. 锁定Yarn版本到兼容旧参数的1.x版本

在项目根目录新建.yarnrc文件,写入以下内容锁定Yarn版本:

--version 1.22.19

这个版本完全支持--production=false参数,能直接规避语法问题。

2. 改用Yarn 2+支持的参数写法

如果不想降级Yarn,就把所有用到--production=false的地方替换为--no-production:

  • 打开package.json,找到scripts里的heroku-postbuild命令,修改为:
    "scripts": {
      "heroku-postbuild": "yarn install --no-production"
    }
    
  • 检查Rails配置文件(比如config/environments/production.rb),如果有调用Yarn的逻辑,同步替换参数。

3. 清理Heroku残留配置变量

再次确认并清理Heroku上可能残留的错误配置:

heroku config:unset YARN_PRODUCTION

(之前你删除的YARN: PRODUCTION:FALSE格式不符合环境变量规范,正确变量名应为YARN_PRODUCTION,直接执行上述命令彻底清除)

4. 重新提交并部署

将修改的文件提交后重新推送到Heroku:

git add .yarnrc package.json
git commit -m "Fix Yarn production flag syntax error for Heroku deployment"
git push heroku main

内容的提问来源于stack exchange,提问作者OKMantis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:06:02