部署 Rails 应用程序时无法检测到 rake 任务

Posted

技术标签:

【中文标题】部署 Rails 应用程序时无法检测到 rake 任务【英文标题】:Could not detect rake tasks when deploying a rails app 【发布时间】:2021-04-09 19:26:27 【问题描述】:

我正在尝试在 heroku 上部署一个 rails(版本 6.1.0)应用程序并遇到一些错误。我的捆绑器版本是 2.2.4。我尝试了以下操作,但仍然遇到相同的错误

    运行 $ bundle exec rake -P 运行 RAILS_ENV=production bundle exec rake assets:precompile 将 BUNDLED WITH 版本更改为 2.1.4 尝试在 Digital Ocean App 上部署

所有这些都给了我这个错误信息

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:  !     /tmp/build_955ddefb/config/boot.rb:4:in `require': cannot load such file -- bootsnap/setup (LoadError)
remote:  !     from /tmp/build_955ddefb/config/boot.rb:4:in `<top (required)>'
remote:  !     from /tmp/build_955ddefb/bin/rake:3:in `require_relative'
remote:  !     from /tmp/build_955ddefb/bin/rake:3:in `<main>'

【问题讨论】:

【参考方案1】:

你的 Heroku 版本是什么?我在 Rails 6.0.4,bundle 2.1.4 上工作,我用rake assets:precompile 解决了这个问题,在我推动之前,我降级到 heroku-18 heroku stack:set heroku-18。 希望能有所帮助。

【讨论】:

以上是关于部署 Rails 应用程序时无法检测到 rake 任务的主要内容,如果未能解决你的问题,请参考以下文章

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

Rails 3 和 Heroku:推送时自动“rake db:migrate”?

Capistrano在部署时失败:资产:使用SSHKit预编译:: Command :: Failed:rake退出状态:1

rails 无法加载此类文件 -- rake (LoadError)

rake 规范不使用 rails 环境

如何在 kubernetes cron 作业中启动 rails rake 任务