heroku推送Rails 3.2应用时突然出现 "无法检测到RACK任务 "的情况(无其他错误)。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了heroku推送Rails 3.2应用时突然出现 "无法检测到RACK任务 "的情况(无其他错误)。相关的知识,希望对你有一定的参考价值。

我换了 毫无 配置中(没有新的宝石或版本变化);只有一行代码,但我现在无法推送到heroku。一定是heroku发生了什么变化?

是Rails 3.2.22.5;Ruby 2.3.1。(是的,我正在升级到Rails 5,但这是一项巨大的工作,同时我还需要维护现有的生产系统。)

RAILS_ENV=production bundle exec rake -P工作正常。我不认为这真的是rake的问题。我最好的猜测是heroku发生了一些变化,我所拥有的某些版本不再支持,但我不知道是什么。而且我没有得到任何信息错误信息。

在损失... 我广泛地上网搜索,但大多数帖子都是4年多前的。我试过在本地预编译,只检查清单文件。我试着升级rake(从13.0.0升级到13.0.1),由于没有任何工作,所以把所有东西都放回去了。

remote:        Bundle complete! 54 Gemfile dependencies, 118 gems now installed.
remote:        Gems in the groups development and test were not installed.
remote:        Bundled gems are installed into `./vendor/bundle`
remote:        Bundle completed (0.51s)
remote:        Cleaning up the bundler cache.
remote: -----> Writing config/database.yml to read from DATABASE_URL
remote: -----> Installing node-v12.16.2-linux-x64
remote: -----> Detecting rake tasks
remote: 
remote:  !
remote:  !     Could not detect rake tasks
remote:  !     ensure you can run `$ bundle exec rake -P` against your app
remote:  !     and using the production group of your Gemfile.
remote:  !     bash: /tmp/build_785c3bf77f08cff81f442938e3386876/bin/rake: /app/vendor/ruby-2.3.1/bin/ruby: bad interpreter: No such file or directory
remote:  !
remote: /tmp/buildpackvv7B3/lib/language_pack/helpers/rake_runner.rb:106:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)
答案

我问了heroku支持,他们找到了问题所在。正如我所预料的那样,与 rake 或我的项目本身无关(因为我什么都没改)。

它与构建包有关。我需要一个PDF生成器,所以我设置了一个 "多构建包"(多年前做的),显然是以一种不再支持的方式。我相信近因是指向一个 "主 "buildpack,而不是稳定版。所以有人在heroku检查了一些东西,它破坏了我的项目:) 这可能只会影响那些多年前在旧的雪松堆栈上做过设置的人,就像我一样。

我跑了。

heroku buildpacks:remove https://github.com/heroku/heroku-buildpack-multi.git
heroku buildpacks:add heroku/ruby
heroku buildpacks:add https://github.com/dscout/wkhtmltopdf-buildpack.git

然后又可以部署了!

以上是关于heroku推送Rails 3.2应用时突然出现 "无法检测到RACK任务 "的情况(无其他错误)。的主要内容,如果未能解决你的问题,请参考以下文章

在代理后面的heroku上推送rails应用程序时出现问题

Heroku 推送错误:“无法检测到 rake 任务”(Rails 6.1)

Push Rails 3.2 站点被 Heroku 视为 PHP 站点

Heroku 推送被拒绝,未检测到 Cedar 支持的应用程序

在heroku上部署的rails应用程序和html代码出现在我的页脚中

Heroku 上的 Rails 3.2 资产编译问题