1
  • 最近更新的老网络应用到Rails 4.2.7.1和Ruby 2.3.1(有人使用Rails 3和Ruby 1.9的工作)。
  • 应用程序在运行rvm的nginx-pasenger服务器上运行。
  • 在生产中更新了RVM和ruby,并且默认设置了新的ruby版本 。
  • 部署与Capistrano。

的应用无法正常运行,从nginx的日志:找不到有关部署耙11.3.0(Capistrano的Nginx的乘客)

[ 2016-12-01 07:00:34.0368 1509/7fbcbf7fe700 agents/HelperAgent/RequestHandler.h:2306 ]: [Client 20] Cannot checkout session because a spawning$ 
App 6899 stdout: 
App 6899 stdout: 
[ 2016-12-01 07:01:13.2625 1509/7fbccdf3b700 Pool2/Implementation.cpp:287 ]: Could not spawn process for application /home/deploy/porinstinto/c$ 
    Error ID: 9864a1e8 
    Error details saved to: /tmp/passenger-error-NDJl0Z.html 
    Message from application: <p>It looks like Bundler could not find a gem. Maybe you didn't install all the gems that this application needs. T$ 

    <pre class="commands">bundle install</pre> 

<p>If that didn't work, then the problem is probably caused by your application being run under a different environment than it's supposed to. $ 

<ol> 
    <li>Is this app supposed to be run as the <code>deploy</code> user?</li> 
    <li>Is this app being run on the correct Ruby interpreter? Below you will 
     see which Ruby interpreter Phusion Passenger attempted to use.</li> 
    <li>Please check whether the correct RVM gemset is being used.</li> 
    <li>Sometimes, RVM gemsets may be broken. 
     <a href="https://github.com/phusion/passenger/wiki/Resetting-RVM-gemsets">Try resetting them.</a></li> 
</ol> 

<p>-------- The exception is as follows: -------</p> 
Could not find rake-11.3.0 in any of the sources (Bundler::GemNotFound) 
<pre> /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/spec_set.rb:92:in `block in materialize&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/spec_set.rb:85:in `map!&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/spec_set.rb:85:in `materialize&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/definition.rb:132:in `specs&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/definition.rb:177:in `specs_for&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/definition.rb:166:in `requested_specs&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/environment.rb:18:in `requested_specs&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/runtime.rb:13:in `setup&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler.rb:121:in `setup&#39; 
    /home/deploy/.rvm/gems/[email protected]/gems/bundler-1.7.3/lib/bundler/setup.rb:17:in `&lt;top (required)&gt;&#39; 
    /home/deploy/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require&#39; 
    /home/deploy/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require&#39; 
    /home/deploy/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require&#39; 
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code&#39; 
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler&#39; 
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code&#39; 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app&#39; 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `&lt;module:App&gt;&#39; 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `&lt;module:PhusionPassenger&gt;&#39; 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `&lt;main&gt;&#39;</pre> 

[ 2016-12-01 07:01:13.2791 1509/7fbcbf7fe700 agents/HelperAgent/RequestHandler.h:2306 ]: [Client 20] Cannot checkout session because a spawning$ 

UPDATE

  • 在生产服务器上运行 “捆绑” 我可以看到,耙11.3.0是安装。
  • Readed建议link关于gemsets。
  • 似乎所有的宝石在宝石[email protected] instaled
  • 也似乎,阅读错误日志,该乘客正在使用[email protected]宝石,至极没有安装适当的宝石。

    现在,我必须更改乘客gemset配置以使用正确的“默认”gemset。任何帮助?

回答

0

尝试:

bundle exec rake 'option' 
+0

生产服务器上? –

+0

告诉我你正在做什么感觉.. – vipin

+0

我是否在生产服务器上或我自己的开发计算机上运行以前的sugerence'bundle exec rake rake-command'? –

0

解决的问题,这是对Nginx的乘客配置的问题。

nginx.conf文件指向红宝石2.1.3(红宝石上一个版本,我用的),所以我简单地替换这一行:

passenger_ruby /home/deploy/.rvm/wrappers/ruby-2.3.1/ruby;