Risposte:
Sì, quando lo fai gem install
, cercherà prima la directory corrente, quindi se il tuo file .gem è lì, lo prenderà. L'ho trovato sul riferimento gemma , che potresti trovare utile anche:
gem install installerà la gemma nominata. Tenterà un'installazione locale (ovvero un file .gem nella directory corrente) e, in caso contrario, tenterà di scaricare e installare la versione più recente della gemma desiderata.
Gemfile
un .gem
file ma non un file. Quindi cos'è questo .gem
file? Cosa dovrebbe contenere? - Aspetta - Capisco. Intendi un gem-name.gem
file. Ricorda che su unix è abbastanza normale avere un file che inizia con un '.' quindi è meglio precisarlo.
Inoltre, puoi usare gem install --local path_to_gem/filename.gem
Ciò salterà la normale scansione del repository gemma che si verifica quando si interrompe --local
.
Puoi trovare altra magia con gem install --help
.
Se crei le tue gemme con il bundler:
# do this in the proper directory
bundle gem foobar
Puoi installarli con rake dopo che sono stati scritti:
# cd into your gem directory
rake install
È probabile che anche la tua gemma scaricata lo sappia rake install
.
Se vuoi lavorare su una forcella modificata localmente di una gemma, il modo migliore per farlo è
gem 'pry', path: './pry'
in un Gemfile.
... dove ./pry
sarebbe il clone del tuo repository. Esegui semplicemente bundle install
una volta e tutte le modifiche apportate alle fonti di gemme apportate vengono immediatamente riflesse. Con gem install pry/pry.gem
, i sorgenti vengono ancora spostati GEM_PATH
e dovrai sempre eseguire entrambi bundle gem pry
e gem update
testare.
Vai al percorso in cui si trova la gemma e chiama gem install -l gemname.gem
Bene, è questa la mia installazione DRY:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)*.gems
file" ad un computer senza gemme in proprio posto di cache gioiello (per impostazione predefinita lo stesso percorso patrono della prima fase: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
) e lanciare gem install anygemwithdependencieshere
(per esempio cucumber-2.99.0
)È ASCIUTTO perché dopo l'installazione di qualsiasi gemma, per impostazione predefinita rubygems inserisce il file gem nella directory gem della cache e non ha senso duplicare i suoi file, è più facile se si desidera che entrambi i computer abbiano le stesse versioni (o macchiato da regole di sicurezza paranoiche: v)
Modifica: in alcune versioni di ruby o rubygems, non funziona e genera avvisi o errori, puoi mettere gemme in un altro posto ma non ottenere ASCIUTTO, altra alternativa sta usando il comando di avvio integrato
gem server
e aggiungi l'URL localhost nelle fonti gemma, altro informazioni in: https://guides.rubygems.org/run-your-own-gem-server/
Puoi scaricare gemme da https://rubygems.org/gems/ o creare la tua gemma locale tramite bundle e rack.
per esempio:
Prenditi cura di installare le dipendenze prima di installare gemme reali.
Nota: se si utilizza fluentd td-agent e ruby sulla stessa macchina. Assicurati di usare il comando td-agent-gem di td-agent. td-agent ha il suo Ruby.