Rubygems, Bundler e RVM confusione
-
25-09-2019 - |
Domanda
ho letto " Rapporti tra Rubygems, Bundler e RVM " prima chiedendo di nuovo.
Bene, ci sono molte domande come questa, ma le persone che hanno risposto dichiara di lavorare con Rubygems, RVM e Bundler, e loro non hanno spiegato come ognuno di questi lavori in isolamento.
Sono davvero confuso di come il lavoro di tre in isolamento quando stiamo installando gemme. Si prega di non dirmi come si lavora, che mi aiuterà, ma non voglio imparare ciò che sta accadendo quando giochiamo con loro.
La mia confusione può essere suddiviso in queste domande. In cui è installato un gioiello quando:
- Non mi resta che Rubygems (senza RVM o Bundler)?
- Rubygems e RVM sono installati?
- Rubygems, RVM e Bundler vengono installati?
Si prega di aiutare a capire questa roba sia con risorse sul web o tramite le vostre risposte dettagliate.
Soluzione
- Per scoprire dove le gemme vengono installati a, eseguire
echo $GEM_HOME
in un terminale. - Quando si utilizza RVM, gemme sono installati nel vostro RVM installare come cambia $ GEM_HOME.
echo $GEM_HOME
Esecuzione ora mostrerebbe un percorso nel vostro RVM installare. - Quando Bundler viene aggiunto al mix, gemme sarà o essere installato in
$GEM_HOME
, o, se si specifica un percorso quandobundle install
esecuzione verrà installato a quel percorso. Per scoprire dove una gemma è attraverso Bundler è possibile utilizzarebundle show gemname
per ottenere il suo percorso completo.
Altri suggerimenti
Usa gem env
all'elenco dei percorsi Gem in ogni contesto.
Senza RVM gem env
segnalerà i percorsi della libreria di sistema gemma.
Con RVM gem env
segnalerà i percorsi di libreria gemma RVM gestiti.
Bundler gestisce le dipendenze di applicazioni e installazioni nella libreria gemma nel proprio ambiente. Se si utilizza RVM + Bundler, le gemme saranno installati nelle RVM gestito directory gemma. Se si utilizza senza RVM, bundler installerà gemme nelle directory di sistema di gemme.
Per trovare il percorso in cui una gemma è installato l'uso:
gem which gem_name
Per trovare gli eseguibili (come html2haml) utilizzo:
which executable_name
Per evitare di digitare bundle exec html2haml
che è raccomandato dal team Bundler, usare la mia rubygems-bundler gioiello .
Sto anche cercando di capire come funziona. Il blog " Consigli sull'uso di Ruby, RVM, passeggero, Rails, Bundler, ... nello sviluppo " mi ha aiutato avere una migliore visione d'insieme.
A proposito, si tratta di una traduzione di un articolo francese, la versione francese è migliore.