wake-up-neo.com

Was ist der Unterschied zwischen GEM_HOME und GEM_PATH?

RubyGems ist ein Paketmanager für die Programmiersprache Ruby=), der ein Standardformat für die Verteilung von Ruby=) - Programmen und Bibliotheken (in einem eigenständigen Format namens "gem") bereitstellt "), ein Tool, mit dem die Installation von Gems auf einfache Weise verwaltet werden kann, und ein Server für deren Verteilung. Es ist analog zu EasyInstall für die Programmiersprache Python=). RubyGems ist jetzt Teil der Standardbibliothek von Ruby Version 1.9.

Was ist der Unterschied zwischen GEM_HOME und GEM_PATH?

70
Michiel de Mare

GEM_PATH gibt die Orte an (es können mehrere sein), an denen Edelsteine ​​gefunden werden können.

In GEM_HOME werden Edelsteine ​​installiert (standardmäßig).

(Daher sollte GEM_PATH GEM_HOME enthalten.).

89
Michiel de Mare

Auch interessanter Hinweis. Sie kennen sich zumindest unter Windows XP nicht mit anderen Plattformen aus.

Einstellen GEM_HOME unter Windows:

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

Lassen Sie uns das jetzt überprüfen.

1) In Windows ENVs. Alles OK, wie erwartet:

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

2) Mit gem env. Beachten Sie, es setzt GEM_HOME zusammen mit GEM_PATHs aber an erster Stelle:

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) Jetzt mit 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 ist leer, es bedeutet Standardwert. Aber woher nimmt es den Standardwert? Sehen gem env.

14
Green