1
  • Недавно обновленное старое веб-приложение для Rails 4.2.7.1 и Ruby 2.3.1 (оно работало с Rails 3 и Ruby 1.9).
  • Приложение работает на сервере nginx-pasenger при производстве с rvm.
  • Обновлен RVM и рубин в производстве, а также установлена ​​новая рубиновая версия как по умолчанию.
  • Развернутый с Capistrano.

приложение не работает, из журнала Nginx:Не удалось найти rake-11.3.0 при развертывании (Capistrano Nginx Passenger)

[ 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

  • Запуск "Bundle" в производственном сервере, я могу видеть, что рейк-11.3.0 является установлен.
  • Считается предложенным link о gemsets.
  • Кажется, что все камни в gemset Установленная [email protected]
  • Кажется также, чтение журнала ошибок, что пассажир использует [email protected] gemset, которым не имеет собственных драгоценных камней установлены.

    Теперь я должен изменить конфигурацию пассажирского 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;