2013-05-07 119 views
2

我在OSX上使用RVM和以前的RBENV。我有我的寶石相對於我的項目路徑安裝在./gems紅寶石找不到nokogiri/nokogiri

我使用的aws-sdk並試圖從nokogiri/nokogiri使用一個LoadError S3的客戶端的結果。具體錯誤是:

/gems/ruby/1.9.1/gems/backports-2.6.7/lib/backports/tools.rb:314:in `require': cannot load such file -- nokogiri/nokogiri (LoadError) 

在互聯網上已經有幾個關於這個問題的討論,但沒有一個很多的答案。奇怪的是,這在Heroku的當前配置中起作用。

我不知道它是否有幫助,但我以前有與bcrypt-ruby問題,其中它沒有找到bcrypt_ext在相同的方式,LoadError, cannot find such file。唯一的解決方案似乎是進入gem文件夾並手動安裝文件。

回答

0

更改爲項目目錄後運行:

GEM_PATH=$GEM_PATH:$PWD/.gems 
+0

似乎並沒有幫助,無論運行在終端仍然抱怨引入nokogiri的。我發現,如果我通過bundle install --system將系統安裝到系統文件夾,但是一旦我改回相對的gem目錄,它會再次破壞。 – nullfox 2013-05-08 05:51:34

+0

重要的是要了解你的工具是如何工作的,RVM將使用gemset,並且你需要運行'rvm use ruby​​ [@gemset]'來訪問gem,如果你使用'bundler'來安裝gems,那麼你還需要像'bundle exec rake'一樣使用'bundle exec'運行它們。 – mpapis 2013-05-08 07:31:23