Qualcuno, per favore, aiutami a capire come un'applicazione ruby gestisce sia il gemfile che i rsm gemsets per un'app. Se attualmente sto usando un Gemset, con un mucchio di gemme installate, e ho anche delle gemme nel mio gemfile, l'app Ruby usa le gemme dal gemfile o dal gemset per l'app?RVM Gemsets e Ruby Gemfile confusione
risposta
Per capire questo è necessario fare un passo indietro e capire come le gemme di rubino funzionano in generale.
Iniziamo con un sistema che non ha rvm o Gemfile.
Quando si installa una gemma tramite "gem install", viene inserita nella posizione gemma del sistema.
Ogni volta che scrivi una sceneggiatura ruby e richiedi la gemma, questa verrà prelevata da lì.
Ora supponiamo di dover utilizzare una versione diversa di una gemma per diversi progetti. È qui che entra in gioco bundler. Crei un Gemfile e quando "impacchetta l'installazione" le gemme elencate nel Gemfile verranno introdotte e utilizzate nel contesto di quel progetto. Dovrai fare "bundle install" per portarli dentro e dopo "bundle exec ruby" per eseguire con la versione gem. Puoi avere più versioni gemma e scegliere un scegli quale usare. Se non si utilizza Bundler, verrà utilizzato tutto ciò che si trova nel sistema.
Rvm ora. Supponiamo di voler modificare le gemme "sistema" e le versioni ruby in modo organizzato. Questo è fondamentalmente ciò che è un gemst rvm. con la magia di indirezione tramite i percorsi, puoi installare gemme per diversi set di gemme e far finta che siano gemme di sistema.
Così gemme e gemfile sono ortogonali l'uno sull'altro. se si utilizza un file gem, le gemme verranno installate nel set di gemme, ma di solito non ci si preoccupa se si va in bundler.
Normalmente si vorrebbe usare il Gemfile.
- 1. Il file RVM .ruby-gemset non commuta gemsets
- 2. Confusione Rubygems, Bundler e RVM
- 3. bundler vs RVM vs gemme vs RubyGems vs gemsets vs system ruby
- 4. rbenv: Sopravvivere senza gemsets
- 5. con RVM e OpenSSL
- 6. Impostazione RVM e Jenkins
- 7. Dov'è il "Gemfile" in Ruby?
- 8. RVM Ruby on Rails installazione
- 9. problemi RVM installare Ruby 2
- 10. Ruby e "È necessario ricompilare Ruby con il supporto OpenSSL o modificare i sorgenti nel tuo Gemfile"
- 11. ruby in linux: permanentemente "source .rvm/scripts/rvm"?
- 12. Errore durante l'installazione di Ruby 2.1.3 con RVM
- 13. L'installazione di Ruby 1.9.2 tramite RVM non funziona mai!
- 14. Ruby Bundler multiple fonti in Gemfile
- 15. Confusione di # Stringa di Ruby
- 16. Come utilizzare RVM e diverse versioni di binari
- 17. rvm installare Ruby 1.9.3: mancanti pacchetti richiesti
- 18. Perché rvm install ruby non funziona?
- 19. Bundler + RVM + Passeggero + implementazione di Capistrano e gemme mancanti
- 20. Ottieni inf-ruby per utilizzare ruby version manager (rvm)
- 21. installare Ruby 1.9.3 utilizzando rvm su Ubuntu
- 22. come rendere un gemset in RVM il default?
- 23. Errori di installazione di ruby RVM - Mac
- 24. RVM ruby 1.9.2 Simbolo non trovato: _STR2CSTR
- 25. Ruby on Rails RVM $ PATH issue
- 26. Come aggiornare gli interpreti Ruby con RVM?
- 27. È una cattiva pratica elencare la versione di Ruby in Gemfile e Dotfile in versione .ruby?
- 28. [[-s "$ HOME/.rvm/scripts/rvm"]] &&. "$ HOME/.rvm/scripts/rvm": cosa fa?
- 29. Manca la gemma mysql2. Aggiungerlo al tuo Gemfile: gemma 'mysql2'
- 30. Comando RVM: source ~/.rvm/scripts/rvm
Questo aiuta molto. Grazie! –