2012-03-27 143 views
3

我不是一個完整的RoR開發人員(主要是php開發人員),我只做了很小的項目/教程,但我繼承了rails項目,儘管我的環境模仿了heroku的製作環境,我仍然有問題在我們當地的室內環境。我們正在將應用程序遷移到內部進行託管。Ruby on Rails服務器錯誤

我已經運行了bundle install,我擁有所有需要的寶石,但我仍然得到一個隨機錯誤:Could not find Ascii85-1.0.1 in any of the sources (Bundler::GemNotFound)。我運行了gem list並存在gem,但應用程序不會運行。數據庫連接似乎是正確的,我只是不確定問題是什麼,任何建議將是偉大的 - 在此先感謝。

附上完整的乘客/耙錯誤: enter image description here

回答

4

的詳細信息:你看到這個錯誤的原因是因爲東西在您的應用程序要求,要求ASCII85代碼。這可能在您的應用程序的代碼中,或者在其中一個寶石或插件中。

要看到創業板公司的依賴關係(即它所需要的),哪些需要它:

$ gem dependency Ascii85 --reverse-dependencies 
Gem Ascii85-1.0.1 
    bundler (>= 1.0.0, development) 
    rspec (>= 2.4.0, development) 
    Used by 
    pdf-reader-1.1.0 (Ascii85 (~> 1.0.0)) 

所以PDF閱讀器的寶石是一個可能的問題。您的系統上的結果可能會有所不同。

縱觀PDF閱讀器:

$ gem dependency pdf-reader --reverse-dependencies 
Gem pdf-reader-1.1.0 
    Ascii85 (~> 1.0.0) 
    ZenTest (~> 4.4.2, development) 
    rake (>= 0, development) 
    roodi (>= 0, development) 
    rspec (~> 2.3, development) 
    ruby-rc4 (>= 0) 
    Used by 
    prawn-0.12.0 (pdf-reader (>= 0.9.0)) 

所以蝦寶石需要PDF閱讀器,它需要ASCII85。

在Rails中,應用程序作者或gem作者不時將所有依賴添加到Gemfile或安裝腳本。

通常這是一個錯誤,很容易修復 - 您可以通過添加寶石來修復它,並且理想情況下您也可以聯繫作者以提出修復建議。

有時會出現缺失依賴的原因,例如需要實現某個方法的代碼,但將它留給您自己安裝以提供該方法的gem。

希望這會有所幫助。

+0

會是這樣的問題與大蝦,我似乎是一個渲染庫或東西? – 2012-03-27 22:23:06

+0

要查看寶石的依賴性(即它需要什麼)以及依賴於它:gem dependency Ascii85 --reverse-dependencies – joelparkerhenderson 2012-03-28 00:08:04

+0

再次感謝joel! – 2012-04-07 05:40:22

1

只需在您的Gemfile中包含相同的寶石,並進行捆綁安裝。在Gemfile中放上下面的行,

gem "Ascii85", "~> 1.0.1" 

嘗試「bundle install」。它會解決問題。

感謝:) -

1

一定要具有

umask 0022 

運行之類的東西的時候......捆綁安裝

或者:

bundle install --path vendor/bundle