2013-03-28 18 views
0

我使用的是本地寶石(此處,clearconnect),但收到試圖要求它,當出現以下錯誤:「LoadError:無法加載這樣的文件」在Rails應用程序的本地寶石

LoadError: cannot load such file -- clearconnect 

這無論發生我試圖要求寶石的地方。當問題發生的最初「需要」的聲明是在一個lib文件,我曾經試圖要求其在「配置/ application.rb中」,也通過軌道控制檯,但還沒有成功。如果需要幫助,則需要通過控制檯在我的應用程序的Gemfile中指定的其他寶石成功。

事情我已經試過/檢查到目前爲止:

相當於我的寶石.gem文件已被放置在供應商目錄,下面一行是在我的Gemfile:

gem 'clearconnect', '0.0.1', :path => 'vendor' 

運行安裝包更新的Gemfile後產生如下:

Using clearconnect (0.0.1) from source at vendor 

「捆綁EXEC寶石清單」列出我的摹em,就像從Rails控制檯運行'Gem.loaded_specs'一樣。

我創建了一個新的Rails應用程序,其中包括我以同樣的方式寶石,並獲得同樣的錯誤。

在這一點上,我相信這個問題是無論是在路上,我指定我在Gemfile中的寶石或寶石本身的問題(儘管它有沒有問題,在本地)。寶石可以在這裏找到:chrahunt/clearconnect

回答

0

Using clearconnect (0.0.1) from source at vendor

不確認多,除了Gemfile中指定的路徑的存在(通過將路徑更改爲指向另一個位置並且不接收錯誤進行確認)。正在使用的其他點來驗證安裝的寶石似乎以類似的方式進行操作,從而導致真正的問題,它是捆紮機不支持指定的Gemfile中[GitHub的問題here]本地.gem文件。在問題中提到的解決方法:

Put the gem in vendor/cache and run (ironically) 'bundle install --no-cache'.

工作就好了,我沒有任何進一步的錯誤。我也能夠成功地將應用程序部署到Heroku,而無需任何額外的配置。

總結:

放置.gem文件,你想在vendor/cache目錄中的應用程序包括。在正常的(no:path)中指定你的應用程序Gemfile中的gem,確保明確聲明版本號。在我的情況下,這是:

gem 'clearconnect', '0.0.1'

運行bundle install --no-cache(推理here)和問題應該得到解決。

1

你需要把完整路徑的寶石,而不僅僅是「供應商」,但「供應商/寶石/ mygem版」

+0

我的寶石位於賣主文件夾 '供應商/ clearconnect-0.0.1.gem' 我編輯的Gemfile中包含的文件本身,而是當我跑「捆綁安裝」引發的錯誤。 '.../vendor/clearconnect-0.0.1.gem不存在' 應該指定該gem位於那個目錄的根目錄,不過,謝謝你的建議。 – 2013-03-28 11:12:22

+0

NP - 如果這讓你贏了,你總是可以將它標記爲回答:-) – 2013-03-28 20:48:59

相關問題