Quelle est la différence entre GEM_HOME et GEM_PATH?

RubyGems est un gestionnaire de paquets pour le langage de programmation Ruby qui fournit un format standard pour la dissortingbution de programmes et de bibliothèques Ruby (dans un format autonome appelé “gem”), un outil conçu pour gérer facilement l’installation de gems et un serveur pour les dissortingbuer. Il est analogue à EasyInstall pour le langage de programmation Python. RubyGems fait maintenant partie de la bibliothèque standard de Ruby version 1.9.

Cela dit, quelle est la différence entre GEM_HOME et GEM_PATH?

GEM_PATH fournit les emplacements (il peut y en avoir plusieurs) où des gemmes peuvent être trouvées.

GEM_HOME est l’endroit où les gems seront installés (par défaut).

(Par conséquent, GEM_PATH devrait inclure GEM_HOME).

Aussi avis intéressant. Au moins sur Windows XP, ne pas connaître les autres plates-formes.

Définissez GEM_HOME dans Windows:

 C:\>set GEM_HOME=C:\sbox\ruby\dump\.gems 

Maintenant vérifions cela.

1) Dans Windows ENVs. Tout va bien, comme prévu:

 C:\>set ... GEM_HOME=C:\sbox\ruby\dump\.gems ... 

2) Avec gem env . Notez qu’il place GEM_HOME avec GEM_PATH mais à la première place:

 C:\>gem env RubyGems Environment: - RUBYGEMS VERSION: 2.0.3 - RUBY VERSION: 2.0.0 (2013-02-24 patchlevel 0) [i386-mingw32] - INSTALLATION DIRECTORY: C:/sbox/ruby/dump/.gems - RUBY EXECUTABLE: C:/Ruby200/bin/ruby.exe - EXECUTABLE DIRECTORY: C:/sbox/ruby/dump/.gems/bin - RUBYGEMS PLATFORMS: - ruby - x86-mingw32 - GEM PATHS: - C:/sbox/ruby/dump/.gems - C:/Documents and Settings/User/.gem/ruby/2.0.0 - C:/Ruby200/lib/ruby/gems/2.0.0 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ 

3) Maintenant avec bundle env :

 C:\>bundle env Bundler 1.3.4 Ruby 2.0.0 (2013-02-24 patchlevel 0) [i386-mingw32] Rubygems 2.0.3 GEM_HOME C:\sbox\ruby\dump\.gems GEM_PATH 

GEM_PATH est vide, cela signifie la valeur par défaut. Mais d’où vient la valeur par défaut? Voir gem env .