0

我有一个新创建的 Rails 应用程序,无法在 Scalingo PaaS 上部署。

每当我尝试部署时,都会收到以下错误:Could not detect rake tasks

这是回溯的摘录:

Fetching source code
-----> Installing bundler 2.1.4
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.7.4
-----> Installing dependencies using bundler 2.1.4
Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4

[...]

-----> Detecting rake tasks

!
!     Could not detect rake tasks
!     ensure you can run `$ bundle exec rake -P` against your app
!     and using the production group of your Gemfile.
!     /build/36bde46d-610a-4ffc-a268-134506db79f1/config/boot.rb:4:in `require': cannot load such file -- bootsnap/setup (LoadError)
!     from /build/36bde46d-610a-4ffc-a268-134506db79f1/config/boot.rb:4:in `<top (required)>'
!     from /build/36bde46d-610a-4ffc-a268-134506db79f1/bin/rake:3:in `require_relative'
!     from /build/36bde46d-610a-4ffc-a268-134506db79f1/bin/rake:3:in `<main>'
!
/tmp/buildpack708571117/lib/language_pack/helpers/rake_runner.rb:106:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)
ensure you can run `$ bundle exec rake -P` against your app
and using the production group of your Gemfile.
/build/36bde46d-610a-4ffc-a268-134506db79f1/config/boot.rb:4:in `require': cannot load such file -- bootsnap/setup (LoadError)
from /build/36bde46d-610a-4ffc-a268-134506db79f1/config/boot.rb:4:in `<top (required)>'
from /build/36bde46d-610a-4ffc-a268-134506db79f1/bin/rake:3:in `require_relative'
from /build/36bde46d-610a-4ffc-a268-134506db79f1/bin/rake:3:in `<main>'
from /tmp/buildpack708571117/lib/language_pack/ruby.rb:1111:in `rake'
from /tmp/buildpack708571117/lib/language_pack/rails4.rb:78:in `block (2 levels) in run_assets_precompile_rake_task'
from /tmp/buildpack708571117/lib/language_pack/base.rb:190:in `log'
from /tmp/buildpack708571117/lib/language_pack/rails4.rb:72:in `block in run_assets_precompile_rake_task'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:51:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:47:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/rails4.rb:71:in `run_assets_precompile_rake_task'
from /tmp/buildpack708571117/lib/language_pack/ruby.rb:117:in `block (2 levels) in compile'
from /tmp/buildpack708571117/lib/language_pack/ruby.rb:1132:in `allow_git'
from /tmp/buildpack708571117/lib/language_pack/ruby.rb:110:in `block in compile'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:51:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:47:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/ruby.rb:95:in `compile'
from /tmp/buildpack708571117/lib/language_pack/rails2.rb:62:in `block in compile'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:51:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:47:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/rails2.rb:60:in `compile'
from /tmp/buildpack708571117/lib/language_pack/rails3.rb:42:in `block in compile'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:51:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:47:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/rails3.rb:41:in `compile'
from /tmp/buildpack708571117/lib/language_pack/rails4.rb:35:in `block in compile'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:51:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:47:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/rails4.rb:34:in `compile'
from /tmp/buildpack708571117/lib/language_pack/rails6.rb:20:in `block in compile'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:51:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/base.rb:47:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/rails6.rb:18:in `compile'
from /tmp/buildpack708571117/bin/support/ruby_compile:20:in `block (2 levels) in <main>'
from /tmp/buildpack708571117/lib/language_pack/base.rb:190:in `log'
from /tmp/buildpack708571117/bin/support/ruby_compile:19:in `block in <main>'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:35:in `block in trace'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:18:in `block (2 levels) in instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:40:in `yield_with_block_depth'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:17:in `block in instrument'
from /tmp/tmp.MRJqSkbTtB/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:16:in `instrument'
from /tmp/buildpack708571117/lib/language_pack/instrument.rb:35:in `trace'
from /tmp/buildpack708571117/bin/support/ruby_compile:15:in `<main>'
!     An error occurred during buildpack compilation
 !   Error deploying the application
!   → Invalid return code from buildpack

我使用以下堆栈:

  • 红宝石 2.7.4
  • 导轨 6.1.4.3
  • 捆绑器 2.1.4

根据错误消息,我尝试bundle exec rake -P在本地机器上运行,它按预期工作。不知道我错过了什么。

4

1 回答 1

0

为防止发生此问题,请将 ruby​​ 平台添加到锁定文件中。

运行以下命令:

bundle lock --add-platform ruby

然后提交你的Gemfile.lock. 部署现在应该通过了。

于 2022-02-04T19:20:07.887 回答