2012-03-27 119 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