2012-01-09 18 views
12

Ho provato questo suggerimento: https://github.com/thoughtbot/laptop/pull/14#issuecomment-3192270.È possibile eseguire la mia app Rails su Heroku con Ruby 1.9.3? Se é cosi, come?

Su implementare vedo

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

Ma i miei log mostrano la variabile d'ambiente non viene rispettata

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

soluzioni hacky/sperimentali accettati!

Modifica: I am on the cedar stack.

+0

Hai provato a passare allo stack di cedro? – sethvargo

+0

Sì, ci sono già, domanda aggiornata :) –

+0

Attualmente ho un ticket di supporto aperto per quanto riguarda questo scenario esatto - RUBY_VERSION uscita 1.9.2 ma sto richiedendo esplicitamente 1.9.3. Pubblicherò quando riceverò una risposta. –

risposta

18

Ecco un aggiornamento per tutti riferimento a questa domanda ... Heroku ora consente di specificare la versione rubino nel vostro Gemfile, grazie alla loro aggiunta alla versione più recente di bundler.

Prima esecuzione:

gem install bundler --pre 

quindi aggiungere ruby ​​'1.9.3' al vostro Gemfile in quanto tale.

source 'http://rubygems.org' 

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

La piena liberazione dal Heroku con i dettagli è a http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

+0

Ho provato questo dopo che la mia app è stata configurata con le rotaie 1.9.1. Ora ricevo un errore in fase di esecuzione che fa riferimento a '/ app/vendor/bundle/ruby ​​/ 1.9.1' invece di' 1.9.3', che è la versione in cui l'ho aggiornato. Pensieri? Oh, e quando controllo la versione con 'heroku run" ruby ​​-v "' restituisce l'atteso 'ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]' – alockwood05

+0

Puoi aggiungere un gist con il pieno errore? – Glenn

+0

Grazie per essere tornato, ho scoperto che il mio errore non era correlato alla versione di rails. Sembra che io sia infatto in esecuzione 1.9.3 anche se i miei gem in bundle sono nella cartella '/ app/vendor/bundle/ruby ​​/ 1.9.1' su heroku. Il mio problema sembra essere causato da gemelli ActiveAdmin (ideato) e 'sass-rails' e' haml-rails' all'interno del gruppo ': assets'. Li ho tolti e sembra che sto lavorando. Quindi non ho alcun problema con l'esecuzione di '1.9.3', solo le gemme sono state memorizzate nella vecchia cartella etichettata con' 1.9.1'. – alockwood05

0

In base alla definizione dello stack Heroku Cedar here Attualmente Cedar supporta solo l'MRI 1.9.2. Hai provato a contattare il supporto di Heroku? Sono generalmente abbastanza reattivi.

Modifica: è possibile "ingannare" la piattaforma a volte eseguendo alcuni file binari come running Haskell su Heroku, quindi se ti senti davvero dedicato potresti essere in grado di comprimere qualcosa. Immagino che non sia troppo facile con la risonanza magnetica.

8

Giusto, quindi Ruby 1.9.3 è decisamente possibile. Come hai detto, sono state accettate soluzioni hacky/sperimentali - questo è sicuramente uno di questi.

In realtà è davvero semplice;

  1. attivare la funzione di Heroku Labs s' user_env_compile per l'applicazione.

  2. impostare una variabile heroku configurazione per RUBY_VERSION al rubino-1.9.3-p0 (heroku config:add RUBY_VERSION=ruby-1.9.3-p0)

  3. verificare che la variabile di configurazione PATH heroku ha bin al fronte (heroku config:add PATH=bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin)

Alla prossima distribuzione dovresti vedere la tua applicazione usando 1.9.3 - l'output di distribuzione mostrerà anche questo;

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

Il passaggio n. 3 era proprio la magia di cui avevo bisogno, grazie! –

+0

sì - era quello che mi stava prendendo in giro - il supporto di heroku è venuto in soccorso! :) –

+0

non dovrebbe il PERCORSO contenere 1.9.3 invece di 1.9.1? –

1

sono stato in grado di ottenere un'applicazione Rails 3.2 in esecuzione su Ruby 1.9.3-p0 su Heroku cedro oggi

Ho seguito i punti su http://railsapps.github.com/rails-heroku-tutorial.html

imbattuto in un problem locally with 1.9.3 and openssl

ma era in grado di ottenere un'app distribuita e funzionante http://mccaffrey-rails32-193.herokuapp.com

non Procfile

sottile e pg in Gemfile

ho aggiunto un po 'di output di debug in modo da poter vedere la versione rotaie e rubino informazioni

sua folle che un rotaie di base app dimensioni slug è 28.9MB!

1

Ho avuto lo stesso problema: Definizione 1.9.3 nel mio Gemfile, ma stavo usando 1.9.2. Questo lo ha risolto:

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