找不到rake-10.10.1 Bundler :: GemNotFound

时间:2014-01-14 12:31:42

标签: ruby-on-rails ruby ruby-on-rails-3 passenger

想要问类似以下内容,但不能得出任何结论:

Could not find rake-10.1.0 in any of the sources

已将我的应用部署在phusion-passenger(apache)上。我得到了与上述问题中已经提到的相同的错误。编辑文件和一次又一次的升级已经变得非常恼火。任何建议都会非常有用。

当我检查版本rake ..显示0.9.2.2。但是我已经在Gemfile中安装了rake 10.0.1及其。

检查$ GEM_PATH并使用以下内容修改.bashrc:

    export HPATH=$HOME
    export GEM_HOME=$HPATH/ruby/gems
    export GEM_PATH=$GEM_HOME:/usr/lib64/ruby/gems/1.9.3
    export GEM_PATH=$GEM_HOME:$GEM_PATH:/usr/lib64/ruby/gems/1.9.3/gems
    export GEM_CACHE=$GEM_HOME/cache
    export PATH=$PATH:$HPATH/ruby/gems/bin
    export PATH=$PATH:$HPATH/ruby/gems

错误讯息:

  Could not find rake-10.1.1 in any of the sources (Bundler::GemNotFound)

异常类:

   PhusionPassenger::UnknownError

回溯:

#   File    Line    Location
0   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/spec_set.rb   92  in `block in materialize'
1   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/spec_set.rb   85  in `map!'
2   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/spec_set.rb   85  in `materialize'
3   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/definition.rb     114     in `specs'
4   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/definition.rb     159     in `specs_for'
5   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/definition.rb     148     in `requested_specs'
6   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/environment.rb    18  in `requested_specs'
7   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler/runtime.rb    13  in `setup'
8   /usr/lib64/ruby/gems/1.9.3/gems/bundler-1.3.5/lib/bundler.rb    120     in `setup'
9   /etc/httpd/modules/passenger/lib/phusion_passenger/utils.rb     326     in `prepare_app_process'
10  /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb  156     in `block in initialize_server'
11  /etc/httpd/modules/passenger/lib/phusion_passenger/utils.rb     563     in `report_app_init_status'
12  /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb  154     in `initialize_server'
13  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   204     in `start_synchronously'
14  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   180     in `start'
15  /etc/httpd/modules/passenger/lib/phusion_passenger/rack/application_spawner.rb  129     in `start'
16  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     253     in `block (2 levels) in spawn_rack_application'
17  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb    132     in `lookup_or_add'
18  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     246     in `block in spawn_rack_application'
19  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb    82  in `block in synchronize'
20      prelude>    10:in `synchronize'
21  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server_collection.rb    79  in `synchronize'
22  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     244     in `spawn_rack_application'
23  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     137     in `spawn_application'
24  /etc/httpd/modules/passenger/lib/phusion_passenger/spawn_manager.rb     275     in `handle_spawn_application'
25  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   357     in `server_main_loop'
26  /etc/httpd/modules/passenger/lib/phusion_passenger/abstract_server.rb   206     in `start_synchronously'
27  /etc/httpd/modules/passenger/helper-scripts/passenger-spawn-server  99  in `

2 个答案:

答案 0 :(得分:2)

首先,您应该升级Phusion Passenger。你的版本3已经超过一年了。版本4不仅更好,它还有更好,更有用的错误信息。

您的问题几乎肯定是由于环境变量设置不当造成的。 在.bashrc中设置环境变量对Apache没有影响!阅读the Phusion Passenger manual以了解环境变量的实际工作方式,以及如何在Apache中正确设置它们。请注意,本手册假定您使用的是乘客4,因此在您升级之前,说明可能无效。

答案 1 :(得分:0)

问题出在公用文件夹中的.htaccess文件中。

<IfModule mod_passenger.c>
 Options -MultiViews
 PassengerResolveSymlinksInDocumentRoot on
 #Set this to whatever environment you'll be running in
 RailsEnv production
 RackBaseURI /
 SetEnv GEM_HOME /home1/examplec/ruby/gems
 SetEnv GEM_HOME /home5/engeebe1/ruby/gems
 </IfModule>

SetEnv GEM_HOME / home1 / examplec / ruby​​ / gems最初被注释掉,在取消注释后,应用程序开始工作。

我想下面的Hongli是正确的,因为错误是在Phusion-passenger配置中。