2012-01-09 13 views
12

Intenté este consejo: https://github.com/thoughtbot/laptop/pull/14#issuecomment-3192270.¿Es posible ejecutar mi aplicación Rails en Heroku con Ruby 1.9.3? ¿Si es así, cómo?

El despliegue veo

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

Pero mis registros muestran la variable de entorno no se respeta

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

soluciones Hacky/experimentales aceptados!

Editar: Estoy en la pila de cedro.

+0

¿Has intentado pasar a la pila de cedro? – sethvargo

+0

Sí, ya lo estoy, pregunta actualizada :) –

+0

Actualmente tengo un ticket de soporte abierto en relación con este escenario exacto - RUBY_VERSION salida 1.9.2 pero estoy requiriendo explícitamente 1.9.3. Volveré a publicar cuando reciba una respuesta. –

Respuesta

18

Aquí es una actualización para todo el mundo hace referencia a esta pregunta ... Heroku ahora le permite especificar la versión de rubí en su Gemfile, gracias a su adición a la versión más reciente de bundler.

Primera carrera:

gem install bundler --pre 

continuación, agregue rubí '1.9.3' a tu Gemfile como tal.

source 'http://rubygems.org' 

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

La versión completa de Heroku con detalles que está en http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

+0

Lo he intentado después de que mi aplicación se configuró con los rieles 1.9.1. Ahora recibo un error en el tiempo de ejecución que hace referencia '/ app/vendor/bundle/ruby ​​/ 1.9.1' en lugar de' 1.9.3', que es la versión en la que lo actualicé. ¿Pensamientos? Ah, y cuando compruebo la versión con 'heroku run" ruby ​​-v "' devuelve el 'ruby 'esperado 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]' – alockwood05

+0

¿Puede agregar una idea general con el contenido completo? ¿error? – Glenn

+0

Gracias por recuperarme, descubrí que mi error no estaba relacionado con la versión de los rieles. Parece que de hecho estoy ejecutando 1.9.3 aunque mis gemas incluidas están en la carpeta '/ app/vendor/bundle/ruby ​​/ 1.9.1' en heroku. Mi problema parece ser causado por las gemas ActiveAdmin (idear) y 'sass-rails' y' haml-rails' que están dentro del grupo ': assets'. Los saqué y parece que estoy trabajando. Así que, de hecho, no tengo problemas con la ejecución de '1.9.3', solo las gemas se almacenaron en la antigua carpeta etiquetada' 1.9.1'. – alockwood05

0

De acuerdo con la definición de pila Heroku Cedar here Cedar actualmente solo es compatible con MRI 1.9.2. ¿Has intentado contactarte con Heroku? En general son muy receptivos.

Editar: es posible "engañar" a la plataforma a veces para ejecutar algunos binarios como running Haskell en Heroku, así que si te sientes realmente dedicado, es posible que puedas empaquetar algo. Sin embargo, imagino que esto no es demasiado fácil con MRI.

8

Correcto, entonces Ruby 1.9.3 es definitivamente posible. Como dijiste, se aceptaron soluciones pirateadas/experimentales, este es definitivamente uno de ellos.

En realidad es muy simple;

  1. activar la función Heroku Labs 's user_env_compile para su aplicación.

  2. establecer una variable heroku config para RUBY_VERSION al rubí-1.9.3-p0 (heroku config:add RUBY_VERSION=ruby-1.9.3-p0)

  3. garantizará que la trayectoria variable de configuración heroku tiene bin en la parte delantera (heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin)

La próxima vez que implemente debería ver su aplicación usando 1.9.3; la salida de implementación también lo mostrará;

-> 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 
+0

El paso 3 era solo la magia que necesitaba, ¡gracias! –

+0

sí - eso fue lo que también me sorprendió - ¡el apoyo de heroku vino al rescate! :) –

+0

¿no debería la RUTA contener 1.9.3 en lugar de 1.9.1? –

1

que era capaz de conseguir una aplicación Rails 3.2 que se ejecuta en Rubí 1.9.3-p0 en Heroku cedro hoy

He seguido los pasos de http://railsapps.github.com/rails-heroku-tutorial.html

encontré con un problem locally with 1.9.3 and openssl

pero fue capaz de obtener una aplicación implementada y funcionando http://mccaffrey-rails32-193.herokuapp.com

sin Procfile

delgada y PG en Gemfile

he añadido un poco de salida de depuración para que pueda ver la versión rieles y rubí información

Es una locura que un tamaño de bala aplicación rieles básicos es 28.9MB!

1

que tenía el mismo problema: Especificación 1.9.3 en mi Gemfile, pero estaba usando 1.9.2. Esto lo solucionó:

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