我使用 heroku 在 ruby on Rails 上创建了一个应用程序
这个应用程序已经在线存在
现在我尝试在 Heroku 上推送这个版本的新版本,但我遇到了问题。
我已经更新了我的 ruby 和 Rails 版本(因为这是旧版本,heroku 不再支持)
现在我有这样的问题
-----> Using Ruby version: ruby-2.7.8
remote: Purging Cache. Changing stack from heroku-18 to heroku-20
remote: -----> Installing dependencies using bundler 2.4.22
remote: Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
remote: Fetching gem metadata from https://rubygems.org/..........
remote: Fetching https://github.com/mimemagicrb/mimemagic.git
remote: ffi-1.17.0-x86_64-linux requires rubygems version >= 3.3.22, which is
remote: incompatible with the current version, 3.1.6
remote: Bundler Output: Fetching gem metadata from https://rubygems.org/..........
remote: Fetching https://github.com/mimemagicrb/mimemagic.git
remote: ffi-1.17.0-x86_64-linux requires rubygems version >= 3.3.22, which is
remote: incompatible with the current version, 3.1.6
remote:
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: !
........
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to APP.
remote:
To https://git.heroku.com/MYAPP.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/MYAPP.git'
RubyGems 环境:
红宝石版本:3.4.22
Ruby 版本:2.7.8(2023-03-30 补丁级别 225)[x86_64-darwin21]
红宝石平台:
红宝石
x86_64-达尔文-21
x86_64-linux
我已经尝试删除我的 gemfile 和 gemfile.lock 并运行, npm 安装
并在平台中添加此配置
bundle lock --add-platform x86_64-linux --add-platform ruby
但我仍然有同样的问题
有什么想法吗?
可以在heroku上推送代码
您可以锁定到以前的版本。
gem "ffi", "< 1.17.0"