2010-10-02 1 views
18

Sto tentando di utilizzare instructions here per installare una versione preliminare di una gemma con bundler.Installazione di una gemma da Github con Bundler

L'output "bundle install" elenca la gemma durante l'installazione, ma "elenco gem" non riesce a trovarlo.

mio Gemfile:

source :gemcutter 

gem 'sinatra', '1.1.0', :git => 'http://github.com/sinatra/sinatra.git' 
gem 'RedCloth', '4.2.3' 

Ecco un gist con il resto del mio codice di esempio.

Qualcuno ha ottenuto che questo scenario funzioni?

NOTA: Sto anche utilizzando RVM (su OS X). bundle show elenca la gemma (e le dipendenze) come esistenti, ma non sono in grado di risolverli correttamente.

Grazie.

+0

qual è l'output di 'rackup'? – marshally

risposta

2

Bundler potrebbe averlo installato localmente nella tua app. Questo potrebbe variare in modo selvaggio, a seconda del sistema operativo e se si sta utilizzando RVM.

Qual è l'uscita di bundle show sinatra?

Nel mio caso, Sinatra è stata installata qui:

/home/marshall/.rvm/gems/[email protected]/bundler/gems/sinatra-9cfa74a7f352 

Sinatra non mostra nella lista gemme, ma il server lancia correttamente se eseguo rackup.

+0

fascio mostra: gemme inclusi dal fascio: * RedCloth (4.2.3) * fardellatrice (1.0.1) * cremagliera (1.2.1) * Sinatra (1.1.0 9cfa74a) * inclinazione (1.1) –

+0

Avrei dovuto accennare prima, sto usando RVM e OS X. Quindi immagino che la gemma sia lì, la richiesta non si risolva correttamente. –

0

Sembra che ci sia un problema nell'utilizzo di Shotgun e Bundler (solo repository git).

Se utilizzo rackup per avviare la mia app, tutto va bene. Ho intenzione di indagare un po 'di più e quindi presentare un bug con uno (o entrambi) dei progetti.

23

vorrei guardare i percorsi di carico, e l'ulteriore di debug da lì, ad esempio:

...(master) $ irb 
irb(main):001:0> $LOAD_PATH.count 
=> 8 
irb(main):004:0> require 'bundler/setup' 
=> true 
irb(main):005:0> $LOAD_PATH.count 
=> 112 
irb(main):006:0> 

Bundler configura il percorso di carico per voi, questo significa che non tutte le gemme sono inclusi nella percorso di carico per impostazione predefinita.

Inoltre, dal bundler git help:

Perché Rubygems manca la capacità di gestire le gemme da git, eventuali gemme installati da un repository git non verranno visualizzati nella lista gemma. Tuttavia, saranno disponibili dopo aver eseguito Bundler.setup.

Con i migliori saluti, spero che questo aiuta

ED

0

gemme installati tramite bundler sul Engine Yard andare in una cartella diversa per isolarli.

di solito è /data/APP_NAME/shared/bundled_gems

Per essere sicuri, controllare il file .bundle/config sulla cartella APP in Engine Yard