0

この問題を解決しようとしてから 12 時間経ちました。

コントローラー内には、次のようなメソッドがあります。

def restart_workers
      system("cd /var/www/sts/current && bundle exec rake RAILS_ENV=#{Rails.env.to_s} resque:restart_workers")

      redirect_to presets_path, :notice=>"Worker'lar yeniden yuklendi. Yeniden acilmalari birkac saniye surebilir."
  end

私が望むのは、その rake タスクを使用して Resque ワーカーを再起動することだけです...そのタスクは、アプリケーションの初期化中に完全に機能します。

コンソールで試してみると、この行は完全に実行されます。

system("cd /var/www/sts/current && bundle exec rake RAILS_ENV=#{Rails.env.to_s} resque:restart_workers")

しかし、アプリケーションからこのメソッドを呼び出すと、以下のエラーが表示されますunicorn.log

/home/deployer/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/definition.rb:16:in `build': /var/www/sts/releases/20130422190645/Gemfile not found (Bundler::GemfileNotFound)
    from /home/deployer/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler.rb:148:in `definition'
    from /home/deployer/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler.rb:116:in `setup'
    from /home/deployer/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
    from /home/deployer/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from /home/deployer/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'

私は本当に立ち往生しています。

どんな助けでも大歓迎です、ありがとう!

参考までに、私が使用しているのは、RVM、Capistrano、Unicorn、nginx です。

4

1 に答える 1

0

このブログ投稿で私の質問に対する答えを見つけました: http://blog.willj.net/2011/08/02/fixing-the-gemfile-not-found-bundlegemfilenotfound-error/

于 2013-04-26T18:16:11.077 に答える