سؤال

I tried this tip: https://github.com/thoughtbot/laptop/pull/14#issuecomment-3192270 .

On deploy I see

-----> Using RUBY_VERSION: ruby-1.9.3-p0

But my logs show the environment variable is not respected

INFO  ruby 1.9.2 (2011-07-09) [x86_64-linux]

Hacky / experimental solutions accepted!

Edit: I am on the cedar stack.

هل كانت مفيدة؟

المحلول

Here's an update for everyone referencing this question... Heroku now allows you to specify your ruby version in your Gemfile, thanks to their addition to the latest version of bundler.

First run:

gem install bundler --pre

then add ruby '1.9.3' to your Gemfile as such.

source 'http://rubygems.org'

ruby '1.9.3'
gem  'rails', '3.2.3'

The full release from Heroku with details is at http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

نصائح أخرى

Right, so Ruby 1.9.3 is definitely possibly. As you said hacky/experimental solutions were accepted - this is definitely one of them.

It's actually really simple;

  1. Enable Heroku Labs's user_env_compile feature for your application.

  2. Set a heroku config variable to RUBY_VERSION to ruby-1.9.3-p0 (heroku config:add RUBY_VERSION=ruby-1.9.3-p0)

  3. ENSURE that the heroku PATH config variable has bin at the front (heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin)

When you next deploy you should see your application using 1.9.3 - the deployment output will show this too;

-> Heroku receiving push
-----> Ruby/Rails app detected
-----> Using RUBY_VERSION: ruby-1.9.3-p0
-----> Installing dependencies using Bundler version 1.1.rc.7
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment

Since May 10 it is possible to use Ruby 1.9.3 in an easier way. Just take a look at Heroku's blog: http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

I was able to get a Rails 3.2 app running on Ruby 1.9.3-p0 on Heroku cedar today

I followed the steps on http://railsapps.github.com/rails-heroku-tutorial.html

ran into a problem locally with 1.9.3 and openssl

but was able to get an app deployed and working http://mccaffrey-rails32-193.herokuapp.com

no Procfile

thin and pg in Gemfile

I added some debug output so you can see the rails and ruby version info

Its crazy that a basic rails app slug size is 28.9MB!

I had the same problem: Specifying 1.9.3 in my Gemfile, but it was using 1.9.2. This fixed it:

heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin

According to the Heroku Cedar stack definition here Cedar currently only supports MRI 1.9.2. Have you tried contacting Heroku support? They're generally pretty responsive.

Edit: it's possible to 'fool' the platform sometimes into running some binaries such as running Haskell on Heroku so if you're feeling really dedicated you might be able to package something up. I imagine this isn't too easy with MRI though.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top