在Heroku上升级Bundler版本

时间:2014-11-24 22:14:01

标签: ruby-on-rails heroku rubygems

我需要在我的heroku应用程序(雪松14)上使用更新版本的bundler,我还没有看到任何我无法做到这一点的原因。我已经陷入1.6.6这几个月了,我需要最新版本。

我需要为我的某个宝石指定source:选项,旧版本的bundler不允许这样做。此外,运行heroku run gem update bundler成功更新但是&heroku运行包-v'收益率为1.6.6。

为什么?

1 个答案:

答案 0 :(得分:1)

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

  

如果您发现正在使用不同版本的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:设置heroku / ruby​​ Buildpack set。下一个版本   hidden-temple-25627将使用heroku / ruby​​。运行git push heroku master   使用此buildpack创建新版本。

     

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

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

您的应用可能未使用当前支持的另一个原因   Bundler版本是否配置为使用其他版本进行部署   buildpack URL。如果BUILDPACK_URL配置var是,则会发生这种情况   集。

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

如果您看到任何值,那么您正在使用自定义构建包。如果这   value设置为“multi buildpack”,例如   https://github.com/heroku/heroku-buildpack-multi然后你需要   检查.buildpacks文件以查看使用的buildpacks   部署。如果您使用这种部署方法,我们建议您使用   您改为遵循使用多个Buildpacks中的指导   对于应用文章。

     

官方部署的Ruby buildpack有时会落后   掌握了几天。

除此之外,它无法直接配置:

  

为什么不能配置Bundler版本?

     

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

     

Heroku Ruby提供Heroku上的Ruby体验   Buildpack。这是安装Bundler版本的工具   运行设置应用程序所需的所有命令。该   buildpack依赖于公开暴露的Bundler内部。它是   测试并且已知可以使用当前指定的版本   捆绑。如果你要采用现代的buildpack并使用它   旧版本的Bundler,你可能会看到不可预测的   结果

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