2010-04-03 8 views
8

Ho un'app Rails 3 pronta per la stadiazione.Nessun file di questo tipo per caricare l'errore di bundler per Rails 3

non ho una serie VPS impostare ancora. Come stavo progettando di avere tutto su host condiviso per i primi mesi.

Problema:

cd myapp controllo fascio risultato:

The Gemfile's dependencies are satisfied 

errore passeggeri:

Error message: 
    no such file to load -- bundler 
Exception class: 
    LoadError 

cosa frustrante host condivisi è che devo aggiungere queste righe su config .ru:

ENV['GEM_HOME'] = '/home/username/.gems' 
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 

Ancora senza fortuna. Non compare lo stesso file di questo tipo per caricare l'errore di bundler.

Qualcuno ha ottenuto questo lavoro? Rails 3, Debian, host condiviso (dreamhost)?

Potrei semplicemente andare avanti e registrarmi su Slicehost/Fivebean ma prima di farlo, vorrei sapere perché questo errore si sta rivelando.

Grazie.

+0

Prova chmod a + rx/usr/local/rvm/-R – James

risposta

9

La soluzione è qui http://rvm.beginrescueend.com/integration/passenger/. È necessario indirizzare il server HTTP al wrapper passenger_ruby anziché a bin/ruby ​​.

E.g.per RVM & Apache dovrebbe essere qualcosa di simile:

PassengerRuby /Users/username/.rvm/bin/passenger_ruby 
+2

Allora perché dice in quella pagina" Per favore nota che per Passenger 3 tu ora usa lo script del wrapper ruby ​​direttamente senza la necessità di usare il wrapper passenger_ruby. "? – configurator

+3

dove va questa stringa? –

+0

Questa soluzione richiede l'accesso come root? –

3

I binari che ospitano su host condivisi sono già un campo minato, ma lanciando Rails 3 in tutta la sua bontà pre-release, incluso Bundler, reinventare il flusso di lavoro di rubygems è una ricetta per tirar fuori i capelli.

ho ospitare alcuni siti Rails su DreamHost, ma solo le versioni che supporta ufficialmente, altrimenti è solo che non vale il tempo. È possibile ottenere un VPS ora per quasi economico come Dreamhost e si risparmiano ore e ore del proprio tempo.

Se siete alla ricerca di una risposta facile, io suggerirei di votare il seguente e incrociando le dita:

Rails 3 on dreamhost?

+0

AH sì ... Fivebean. Spero di dispiegare presto. Dreamhost fa schifo. Il blocco pacchetto – kgpdeveloper

4

passeggeri non legge le variabili di ambiente da config.ru fino dopo che ha caricato. Senza il tuo backtrace non posso essere positivo, ma ho il sospetto che tutto funzionerà se si esegue solo bundle lock. Se dopo tutto continui ad avere problemi, c'è un elenco di informazioni sulla risoluzione dei problemi nella parte inferiore del README del bundler che ho bisogno di sapere esattamente cosa sta succedendo.

+0

ha risolto il mio problema. Grazie mille! – Magnar

0

trovato alcune blog casuale. Aveva alcune linee che andavano in "config.ru", che sembrava funzionare per me.

ENV['GEM_HOME'] = '/home/farleyknight/.gems' 
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 
require 'rubygems' 
Gem.clear_paths 

forse funzionerà per voi ..

+1

non ha funzionato qui. Ho votato a causa di un errore di battitura. La riga ENV ['GEM_PATH'] dovrebbe essere: ENV ['GEM_PATH'] = "# {ENV ['GEM_HOME']}:/usr/lib/ruby ​​/ gems/1.8" –

+0

$: << "/ usr/lib/ruby ​​/ gems/1.8/gems/bundler-0.9.26/lib ", d'altra parte, ha funzionato per me: S –

2

Per me, questo si è rivelato essere un problema con la direttiva passenger_ruby quel passeggero-install-nginx-modulo sputa fuori al termine dell'installazione. Mancava il nome della gemst nel percorso del rubino.

Questo funziona: (la correzione)

passenger_ruby /Users/dzello/.rvm/wrappers/[email protected]/ruby; 

Questo non ha: (quello del passeggero-install-nginx-modulo sputa fuori)

passenger_ruby /Users/dzello/.rvm/rubies/ruby-1.9.2-p0/bin/ruby 

Nota la linea passenger_ruby non include il corretto percorso gem - manca la parte @ rails3 (rails3 è il nome del gemset), anche se è corretta per la radice del passeggero.

+1

Inoltre, il rubino è in/wrapper ora, non/rubies ... quello che mi ha catturato fuori – bodacious

+0

Il fatto che questo dovesse essere fatto e la direttiva sbagliata sputata dalla sceneggiatura è un po 'esasperante. –

0

Ho riscontrato questo problema con vps plus rvm, rails3, capistrano e nginx.

Passenger è stato installato da root ma il sito Web è stato installato dall'utente volpe. Nginx (root) è stato configurato per eseguire l'app come volpe. Quando si è loggato come volpe, Bundler è stato installato ma l'esecuzione di gem list bundler come root non ha mostrato alcuna gemma.

L'inizio del passeggero fornirebbe l'errore bundler mancante. Unica cura per questo era installare bundler come root AND fox. Sto indovinando i controlli dei passeggeri per bundler mentre non sono sotto l'utente volpe come configurato in nginx.