当我运行gem environment
时,我会得到一个包含以下内容的列表:
- GEM路径:
- /home/rescue/.rvm/rubies/ruby-2.3.3/lib/ruby/gems/2.3.0
- /home/rescue/.gem/ruby/2.3.0
我想添加一条路径。我看到有人suggesting将export GEM_PATH = ...
之类的内容添加到我的.bashrc
文件中,但我担心这会取代现有的宝石路径。
除了已存在的路径外,我如何添加其他路径?
答案 0 :(得分:1)
当您运行echo $GEM_PATH
时,您可能会看到两条用冒号分隔的路径。它是设置env变量中多个路径的标准。
如果您想添加更多目录,那么您可以添加1个路径,而无需使用EXPORT GEM_PATH=$GEM_PATH:/your/new/path
删除旧路径
答案 1 :(得分:0)
我认为不可能只是在没有覆盖的情况下添加路径。
回答你的问题在
https://github.com/rubygems/rubygems/blob/master/lib/rubygems.rb#L404
when 'GEM_HOME', 'GEM_PATH', 'GEM_SPEC_CACHE'
....
@paths = Gem::PathSupport.new ENV.to_hash.merge(target)
代码很复杂,但您可以读到只能通过其中一个'GEM_HOME', 'GEM_PATH', 'GEM_SPEC_CACHE'
变量设置路径。
然后gem将这些变量作为构造函数放置到设置路径的Gem::PathSupport
。
https://github.com/rubygems/rubygems/blob/master/lib/rubygems/path_support.rb
答案 2 :(得分:0)