2017-05-31 91 views
2

當我運行gem environment我得到一個名單,其中包括以下內容:添加寶石路徑?

  • 創業板的路徑:
    • /home/rescue/.rvm/rubies/ruby-2.3.3/lib/ruby /gems/2.3.0
    • /home/rescue/.gem/ruby/2.3.0

我想添加一個路徑。我看到人們suggestingexport GEM_PATH = ...添加到我的.bashrc文件中,但我擔心這會替換現有的寶石路徑。

除了那些已經存在的路徑之外,如何添加其他路徑?

回答

0

當您運行echo $GEM_PATH時,您可能會看到2個用冒號分隔的路徑。它是在env變量中設置多個路徑的標準。

如果你想添加更多的目錄,那麼你可以添加1個路徑,而不與EXPORT GEM_PATH=$GEM_PATH:/your/new/path

+1

當我'回聲$ GEM_PATH'我得到一個空行,儘管'寶石environment'看到多個條目。 –

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