Можно ли запустить приложение Rails на Heroku с Ruby 1.9.3? Если так, то как? - PullRequest
12 голосов
/ 09 января 2012

Я попробовал этот совет: https://github.com/thoughtbot/laptop/pull/14#issuecomment-3192270.

При развертывании вижу

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

Но мои журналы показывают, что переменная окружения не соблюдается

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

Hacky / экспериментальные решения приняты!

Редактировать: я в стеке кедра.

Ответы [ 6 ]

18 голосов
/ 16 мая 2012

Вот обновление для всех, кто обращается к этому вопросу ... Heroku теперь позволяет вам указывать вашу версию ruby ​​в вашем Gemfile, благодаря их добавлению к последней версии bundler.

Первый запуск:

gem install bundler --pre

затем добавьте rub '1.9.3' в ваш Gemfile как таковой.

source 'http://rubygems.org'

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

Полный выпуск Heroku с подробностями - http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

8 голосов
/ 11 января 2012

Правильно, поэтому Ruby 1.9.3 определенно возможен.Как вы сказали, были приняты хакерские / экспериментальные решения - это определенно одно из них.

Это действительно очень просто;

  1. Включить Heroku Labs 'Функция s user_env_compile для вашего приложения.

  2. Установите для переменной конфигурации heroku значение RUBY_VERSION, равное ruby-1.9.3-p0 (heroku config:add RUBY_VERSION=ruby-1.9.3-p0)

  3. УБЕДИТЕСЬ, что конфигурационная переменная heroku PATH имеет bin спереди (heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin)

При следующем развертывании вы должны увидеть свое приложение, используя 1.9.3 - развертываниевывод тоже покажет;

-> 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
5 голосов
/ 15 мая 2012

С 10 мая Ruby 1.9.3 можно использовать более простым способом. Просто посмотрите на блог Heroku: http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

1 голос
/ 17 июля 2012

У меня была та же проблема: указав 1.9.3 в моем Gemfile, но он использовал 1.9.2.Это исправлено:

heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
1 голос
/ 03 февраля 2012

Мне удалось запустить приложение Rails 3.2 на Ruby 1.9.3-p0 на кедре Heroku

Я следовал инструкциям на http://railsapps.github.com/rails-heroku-tutorial.html

столкнулся с проблемой локально с 1.9.3 и openssl

но смог развернуть приложение и работать http://mccaffrey -rails32-193.herokuapp.com

Нет Procfile

тонкий и pg в Gemfile

Я добавил отладочный вывод, чтобы вы могли видеть информацию о версии rails и ruby ​​

Это безумие, что размер слага основного приложения для rails составляет 28,9 МБ!

0 голосов
/ 09 января 2012

Согласно определению стека Heroku Cedar здесь Cedar в настоящее время поддерживает только MRI 1.9.2.Вы пытались связаться со службой поддержки Heroku?Как правило, они довольно отзывчивы.

Редактировать: иногда можно «обмануть» платформу, чтобы запустить некоторые двоичные файлы, такие как запуск Haskell на Heroku, так что, если вы чувствуете себя действительно преданным, вы можетебыть в состоянии упаковать что-нибудь.Я думаю, что с МРТ это не так просто.

...