What is the difference between GEM_HOME and GEM_PATH?

RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a standalone format called a gem), a tool for easily managing the installation of gems, and a server for distributing them. This is similar to EasyInstall for the Python programming language. RubyGems is now part of the standard library from Ruby version 1.9.

However, what is the difference between GEM_HOME and GEM_PATH?

+55
ruby rubygems
Jun 30 '12 at 19:59
source share
2 answers

GEM_PATH provides places (there may be several) where gems can be found.

GEM_HOME is where the stones will be installed (by default).

(Therefore, GEM_PATH must include GEM_HOME).

+69
Jun 30 '12 at 19:59
source share

Also an interesting notice. At least on Wndows XP, you don’t know about other platforms.

Install GEM_HOME on Windows:

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

Now check this out.

1) On Windows ENV. Everything is OK, as expected:

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

2) With gem env . Note that it puts GEM_HOME along with GEM_PATH , but first of all:

 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) Now with 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 empty, this means the default value. But where does this default come from? See gem env .

+9
Mar 19 '13 at 20:54
source share



All Articles