2012-06-06 3 views
6

Questo mi sta facendo impazzire. Ho aggiunto una gemma (hirb) al Gemfile e ora non posso essere distribuita.Come risolvere Alcune gemme sembrano mancare dalla directory del fornitore/cache. Non è stato possibile trovare "qualunque cosa" in nessuna delle fonti?

Sì, ho usato bundle install --path vendor/cache

Sì ho usato bundle package

Sì ho commesso Gemfile e Gemfile.lock

ho cancellato la cartella vendor/cache nella macchina di produzione in modo che sarebbe generarlo di nuovo invece di aggiornarlo. Era sbagliato?

Ogni volta che corro cap:deploy ricevo il seguente ...

executing "cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test" 
    servers: ["11.111.11.11"] 
    [11.111.11.11] executing command 
    [11.111.11.11] env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test' 
** [out :: 11.111.11.11] Some gems seem to be missing from your vendor/cache directory. 
** [out :: 11.111.11.11] Could not find multi_json-1.3.6 in any of the sources 
    command finished in 48571ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /var/www/releases/20120606002321; true" 
    servers: ["11.111.11.11"] 
    [11.111.11.11] executing command 
    [11.111.11.11] env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'rm -rf /var/www/releases/20120606002321; true' 
    command finished in 6417ms 
failed: "env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test'" on 11.111.11.11 
+0

Questo è molto strano, non c'è una connessione a internet per questo server? Quando non è stato trovato il bundler dovrebbe scaricare le gemme da rubygems .org –

risposta

0

@leonel, ci sono diverse cose che puoi controllare:

  1. Vedere se avete la sorgente corretta per ottenere il gemme da (fonte "http://rubygems.org")
  2. Prova a fare un gem installazione multi_json
  3. Dai un'occhiata ai file di registro del tuo server web. Aiutano molto in casi come questo quando si usano armi comuni e non si può colpire il bersaglio.

Successivamente è necessario verificare se si dispone di una versione precedente, quindi provare ad aggiornare utilizzando gem, alla versione richiesta (o più recente) di multi_json.

Speranza che aiuta, R

6

Si potrebbe desiderare di provare a rimuovere la bandiera --deployment. Ciò sembra consentire a Bundler di installare sia la fonte vendor/cachee Rubygems.

Capfile:

set :bundle_flags, "--quiet --no-cache" 

Un bug correlato: https://github.com/bundler/bundler/issues/1454

+0

Utilizzando capistrano 3.3.5 ho dovuto aggiungere questo al mio file 'config/deploy.rb' e non il mio' Capfile' – Catfish

+0

Questo mi faceva impazzire, grazie mille! – MERM