How can I choose Ruby version on Heroku?

后端 未结 3 1086
忘了有多久
忘了有多久 2020-12-25 13:28

I use Ruby 1.9.x syntax in my Rails 3 app, but after pushing it to Heroku it crashes due to older Ruby version (1.8). How can I control it?

相关标签:
3条回答
  • 2020-12-25 14:15

    Heroku's current stack, Cedar, uses 1.9.2 by default. Cedar also supports specifying the Ruby version in your Gemfile. Currently, 1.9.2 and 1.9.3 are valid options.

    # Gemfile
    source "https://rubygems.org"
    ruby "1.9.3"
    ...
    

    More details are available in the Ruby support article: https://devcenter.heroku.com/articles/ruby-support


    If you are currently using Aspen or Bamboo, you can switch to 1.9.2 by using the stack:migrate command:

    $ heroku stack:migrate bamboo-mri-1.9.2
    

    You cannot automatically migrate to the Cedar stack at this time, but there is a guide on how to do so: https://devcenter.heroku.com/articles/cedar-migration

    0 讨论(0)
  • 2020-12-25 14:29

    You can now explicitly specify a Ruby version on Heroku.

    Simply setup your Gemfile as so

    # Gemfile
    source "https://rubygems.org"
    ruby "1.9.3"
    
    # Gems go here
    
    0 讨论(0)
  • 2020-12-25 14:30

    I wanted to use the version I already had defined in the .ruby-version file so I ended up creating a buildpack that can be used before heroku-buildpack-ruby that injects the version from the .ruby-version into the Gemfile. It also support versions without patch or aliases.

    https://github.com/platanus/heroku-buildpack-ruby-version

    This way you can have your version defined only in one place.

    0 讨论(0)
提交回复
热议问题