【问题标题】:Heroku removes bundler when deployHeroku 在部署时删除捆绑器
【发布时间】:2014-01-22 04:03:50
【问题描述】:

我在 heroku 上部署我的 ruby​​-on-rails 应用时遇到了麻烦。

部署失败,出现以下日志。

使用命令bundle exec thin start -R config.ru -e staging -p 6882启动进程

bash:捆绑:找不到命令

我注意到,在部署时,bundler(1.3.2) 被删除并使用了 bundler(1.5.2),即使我将 bundler 版本指定为“1.3.2”。

部署时,会显示Using bundler(1.5.2),但heroku run 'gem list' 中没有捆绑器。

这是在我推送包含一些 gem 更新的提交之后发生的。

在那次部署之后,即使我取消了之前运行良好的提交,所有部署都失败了。

【问题讨论】:

  • 我相信 Heroku 使用 rvm 或 rbenv 之类的东西来安装 ruby​​ 和 gemset。如果是这种情况,我相信他们将bundler gem 放在了全局 gemset 中。他们的系统上可能有需要特定版本的捆绑器的工具,或者是他们已经完成测试的版本。
  • 你能做到heroku run bash 并在 bash 提示符下做一个gem install bundler吗?

标签: ruby-on-rails ruby heroku bundler


【解决方案1】:

您的 gemfile 中是否有这样的 ruby​​ 定义?

source 'https://rubygems.org'

ruby '1.9.3'

gem 'rails', '3.2.15'

.....

如果这样做,heroku 将尝试加载捆绑程序 1.5.2
尝试像这样更新捆绑器

gem update bundler

然后提交并推送到heroku

希望对你有帮助

【讨论】:

    【解决方案2】:

    谢谢大家。

    我解决了这个问题。

    我尝试了这篇文章中的所有解决方案,但无法修复,所以我向 heroku 提供了详细信息的支持。

    这是因为我使用的是不支持 Bundler 1.5.2 的自定义 buildpack。

    所以,我将应用配置为使用the Official Ruby Buildpack

    heroku 配置:设置 BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-ruby

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      相关资源
      最近更新 更多