2013-03-05 59 views
0

我在GCC上使用了-L來指定其他搜索根目錄。然後GCC將搜索目錄以及默認的系統搜索目錄。爲Ruby需求添加搜索根路徑(相當於GCC -L)

我覺得Ruby require只搜索系統的gem安裝目錄。當我使用ruby -I <path>時,它似乎只在指定的目錄中查找,並排除了系統gem安裝目錄。

它很簡單,乾淨,但我希望它使用系統寶石目錄和其他搜索目錄。就像GCC -L參數一樣。有沒有這樣做的選擇?或者我有系統gem目錄的便捷別名,可以在系統上移植嗎?

或者我應該在本地項目中安裝預期的寶石?我期待着,我該怎麼做?

+1

'-I'會將指定的路徑添加到加載路徑,使用它不應排除系統路徑。你有沒有一個你想要做什麼的例子? – matt 2013-03-05 02:00:53

+0

@matt你是對的。我確認'-I'與GCC'-L'參數的工作方式相同。我不知道爲什麼我認爲這是不同的,但我認爲這可能是因爲我使用了一些錯誤的配置。 – Eonil 2013-03-05 04:43:20

回答

2

很簡單。要將目錄添加到Ruby路徑,請在執行任何要求之前執行此操作:

$: << '/path/to/gem/dir' 
+0

哦。我可以對'$:'進行一些解釋嗎?用字母搜索某些東西非常困難。 – Eonil 2013-03-05 02:00:33

+1

@Eonil:$:是ruby將搜索庫的路徑數組 – Linuxios 2013-03-05 02:02:12

+0

'$:'相當於'$ LOAD_PATH',這有點少混淆。 – 2013-03-05 03:02:35