2012-04-16 92 views
0

我越來越紅寶石在哪裏查找文件?

no such file to load -- bundler/setup 

當我嘗試從我的boot.rb

之所以稱之爲

require 'bundler/setup' 

是紅寶石沒有關於所述捆綁庫位置這是一個想法

/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler 

如何將此路徑添加到ruby?它是通過追加$ Path嗎?如果是的話,最好的做法是將每個gem的庫添加到路徑中,因爲每個gem都有自己的本地lib結構!

PS 我加$ GEM_HOME到指向/Library/Ruby/Gems/1.8我的ENV變量,它沒有解決這個問題

BTW是否紅寶石瞭解$ GEM_HOME環境變量?如果是的話,它深入到其目錄?

+2

'ruby -e「放置Gem.path」'打印Ruby尋找寶石的位置。另外看'gem env'和'gem哪個bundler'。 – 2012-04-16 07:09:57

+0

不錯!所以當我說例如要求'打包者'時; ruby會執行gem哪個打包器並在路徑中搜索 – aaalsubaie 2012-04-16 07:16:45

+0

事實證明比這更復雜一點(ruby並沒有真正執行'gem')。在某些操作系統的Ruby版本中,寶石和紅寶石可能不同意路徑是什麼,導致混淆。有時您最終會添加到GEM_HOME的路徑。在這裏看到我可能相關的答案:http://stackoverflow.com/questions/2945228/i-see-gem-in-gem-list-but-have-no-such-file-to-load/2945509#2945509。我不知道這是否是你遇到的問題的一部分。 – 2012-04-16 07:47:08

回答

-1

如果您將寶石寶石添加到您的Gemfile中,該怎麼辦?

+0

同樣的錯誤。僅供參考如果我運行bundle exec rails ....它的工作原理!可能是依賴性問題。 – aaalsubaie 2012-04-16 07:05:34

+1

將bundler添加到您的Gemfile中沒有任何意義。 Bundler是首先讀取Gemfile的東西。 – 2012-04-16 07:07:18