未知语法错误:rails 应用程序的 Heroku 部署中的选项名称无效(“--product = false”)

问题描述 投票:0回答:1

我有一个 Rails 项目(rails 6.1 和 ruby 3.1.2),我过去已将其部署到 Heroku,但现在我遇到了 Heroku 的问题。我收到以下错误:

Counting objects: 80, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (79/79), done.
Writing objects: 100% (80/80), 146.95 KiB | 4.20 MiB/s, done.
Total 80 (delta 54), reused 0 (delta 0)
remote: Updated 9257 paths from fd1836dc
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpacks:
remote:        1. heroku/nodejs
remote:        2. heroku/ruby
remote: -----> Node.js app detected
remote:        
remote: -----> Creating runtime environment
remote:        
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        USE_YARN_CACHE=true
remote:        NODE_VERBOSE=false
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:        
remote: -----> Installing binaries
remote:        engines.node (package.json):  >=14.15.5
remote:        engines.npm (package.json):   >=8.0.0
remote:        engines.yarn (package.json):  >=1.22.19
remote:        
remote:        Resolving node version >=14.15.5...
remote:        Downloading and installing node 21.6.2...
remote:        Bootstrapping npm >=8.0.0 (replacing 10.2.4)...
remote:        npm 10.5.0 installed
remote:        Resolving yarn version >=1.22.19...
remote:        Downloading and installing yarn (4.1.0)
remote:        Installed yarn 4.1.0
remote:        
remote: -----> Installing dependencies
remote:        Installing node modules (yarn.lock)
remote:        Unknown Syntax Error: Invalid option name ("--production=false").
remote:        
remote:        $ yarn install [--json] [--immutable] [--immutable-cache] [--refresh-lockfile] [--check-cache] [--check-resolutions] [--inline-builds] [--mode #0]
remote: 
remote: -----> Build failed
remote:        
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:        
remote:        Some possible problems:
remote:        
remote:        - Dangerous semver range (>) in engines.node
remote:          https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
remote:        
remote:        Love,
remote:        Heroku
remote:        
remote:  !     Push rejected, failed to compile Node.js app.
remote: 
remote:  !     Push failed
remote:  !
remote:  ! ## Warning - The same version of this code has already been built: de7880c51bf729ba0df031b35e79bcf67efe93a7
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version de7880c51bf729ba0df031b35e79bcf67efe93a7
remote:  ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote:  !
remote:  ! If you are developing on a branch and deploying via git you must run:
remote:  !
remote:  !     git push heroku <branchname>:main
remote:  !
remote:  ! This article goes into details on the behavior:
remote:  !   https://devcenter.heroku.com/articles/duplicate-build-version
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to ibz-garden-houses.
remote: 
To https://git.heroku.com/ibz-garden-houses.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/ibz-garden-houses.git'

我从错误中得到的是:

Unknown Syntax Error: Invalid option name ("--production=false").
我认为这与纱线有关。我尝试删除yarn.lock 文件并使用
yarn install
生成一个新文件,但这不起作用。我还从 Heroku 配置变量中删除了
YARN: PRODUCTION:FALSE
,但这没有任何效果。

我目前没有其他选择。如果有人可以帮助我,我将非常感激。

heroku ruby-on-rails-6
1个回答
0
投票

最终错误出现在我的

package.json
文件中。

我有这个:

  "engines": {
"node": ">=14.15.5",
"npm": ">=8.0.0",
"yarn": ">=1.22.19"
},

但应该是这样的:

  "engines": {
"node": "14.15.5",
"npm": "8.0.0",
"yarn": "1.22.19"
},

现在它再次部署到 Heroku。

© www.soinside.com 2019 - 2024. All rights reserved.