【问题标题】:Upgrading Bundler Version on Heroku在 Heroku 上升级 Bundler 版本
【发布时间】:2014-11-24 22:14:00
【问题描述】:

我的 heroku 应用程序 (cedar 14) 需要更新版本的捆绑程序,但我没有看到任何不能这样做的原因。我被困在几个月前的 1.6.6 上,我需要最新的版本。

我需要为我的一个 gem 指定一个 source: 选项,而旧版本的 bundler 不允许这样做。此外,运行 heroku run gem update bundler 成功更新,但 'heroku run bundle -v' 产生 1.6.6。

为什么?

【问题讨论】:

  • 只是一个疯狂的想法......如果在使用新的源选项之前在 Gemfile 中指定所需的捆绑器版本怎么办?当然,将 bundler 与 bundler 保持一致很奇怪,但是...
  • 好主意..当我最后一次尝试时,它恢复为Using bundler 1.6.6。一定是heroku的问题,我已经打开了一张票,将在这里更新。

标签: ruby-on-rails heroku rubygems


【解决方案1】:

您可以通过在 Heroku 上指定 Ruby Buildpack 来修改使用的捆绑器版本:

如果您发现您的用户正在使用不同版本的 Bundler 比 Ruby 支持文章中列出的应用程序,您的 应用程序可能被配置为使用 Ruby 的主分支 用于部署的 buildpack。

要检查配置了哪个 buildpack,请使用 heroku buildpacks 命令:

>  heroku buildpacks
> === hidden-temple-25627 Buildpack URL https://github.com/heroku/heroku-buildpack-ruby.git

示例输出显示未发布版本的 buildpack 正在使用。要切换到支持的版本,请设置 buildpack 如下:

heroku buildpacks:set heroku/ruby Buildpack 集。下一个发布时间 hidden-temple-25627 将使用 heroku/ruby。运行 git push heroku master 使用此 buildpack 创建新版本。

您可以通过键入以下内容来验证是否已设置新的 buildpack:

>  heroku buildpacks
> === hidden-temple-25627 Buildpack URL heroku/ruby

您的应用可能未使用当前支持的另一个原因 Bundler 版本是如果它被配置为使用不同的部署 构建包 URL。如果 BUILDPACK_URL 配置变量为 设置。

>  heroku config:get BUILDPACK_URL BUILDPACK_URL:                     
> https://github.com/heroku/heroku-buildpack-ruby.git

如果您看到任何值,则说明您使用的是自定义 buildpack。如果这 值设置为“multi buildpack”,例如 https://github.com/heroku/heroku-buildpack-multi 那么你需要 检查 .buildpacks 文件以查看使用了哪些构建包 部署。如果您使用这种部署方法,我们建议 而是遵循使用多个构建包中的指导 应用文章。

官方部署的 Ruby buildpack 有时会滞后 高手几天。


除此之外不能直接配置:

为什么无法配置 Bundler 版本?

不同版本的 Bundler 有不同的已知 bug 不同的行为。 Heroku 上的 Bundler 版本是用心的 策划。需要在支持新的 Bundler 之间取得平衡 功能和稳定性。我们为策划 Bundler 所做的工作 版本确保最大的稳定性,并避免弃用和 Bundler 上的通知周期,因为它发生了变化,或者修复了错误,或者 Heroku 修复了安全问题。

Heroku 上的 Ruby 体验由 Heroku Ruby 提供 构建包。这是安装 Bundler 和 运行设置应用程序所需的所有命令。这 buildpack 依赖于 Bundler 公开的内部结构。这是 经过测试并且已知可以针对当前指定版本的 捆绑器。如果您要使用现代构建包并将其与 旧版本的捆绑器,您可能会看到不可预知的 结果。

https://devcenter.heroku.com/articles/bundler-version

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-22
    • 2014-01-14
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 2019-07-31
    相关资源
    最近更新 更多