2016-06-19 14 views
0

Ruby 1.9.3とRails 3.2.3を実行していた古いコードベースで作業しています。しかし、PayPal APIを使用したときに発生したSSLエラーを修正するためにRuby 2にアップデートしなければなりませんでした(私は過去に使ったので2.1.5を選択しました。私の仕事はクレジットカード処理用のPayPalを実装することでした) 。これはアセットパイプラインのエラーを引き起こし、調査の結果、Rails 3.2.3がRuby 2.1.5をサポートしていないことが判明したので、Rails 3.2.19にアップグレードする必要がありました。Bundler :: GemNotFoundキャップ配布中に遅延ジョブ停止を実行するとき

ローカルマシンですべて正常に動作していました。配備が始まると、私はサーバにrbenvをインストールしました(RVMまたはrbenvを持っていなかった)。そしてRuby 2.1.5をインストールした。

ここで、deployスクリプトはバンドルインストールを終了しますが、cd /var/www/cappwww/current && RAILS_ENV=production script/delayed_job stopを実行しようとすると、チョークしてCould not find *** in any of the sources (Bundler::GemNotFound)と表示されます。

「***」は単なるプレースホルダです。これは最初にi18n、次にmulti_jsonで起こった。私は手動でこれらの宝石の要求されたバージョンを変更し、bundle updateを実行し、それは動作するように見えました。しかし、現在は3.2.3サポートを要求していますが、Rails 3.2.19がアクティブサポートを必要とするため、強制的に使用することはできません。3.2.19。

これは、実際にこれらの宝石を必要とするdelayed_jobの問題ではありません。なぜなら、1)バンドルのインストール中にインストールされるか、またはバンドルのインストールが解決できない依存関係があった場合、 delayed_jobはrubygemsに応じてactivesupport> = 3を必要とするので、3.2.19はうまくいくはずです。

何らかの理由で、delayed_jobスクリプトが特定のgemset、特に古いgemsetを探しているようです。しかし、私はそれが原因で何が起こるのか考えていません。

私のGemfileは、私はかなり遠く、私の頭の上にいるよう

source 'http://rubygems.org' 

gem 'rake', '10.1.1' 
gem 'rmagick' 
gem 'rails', '3.2.19' 
gem 'devise', '2.0' 
gem 'haml', '3.1.4' 
gem 'sass', '3.2.3' 
gem 'formtastic', '2.1.0.rc' 
gem 'cocaine', '0.3.2' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

#gem 'mysql2', '0.2.6' 
gem 'mysql2', '0.3.11' 
#gem 'less', '~> 2.0.8' 
gem 'less', '~> 2.2.1' 
gem 'tinymce-rails', '3.5.8' 
gem 'will_paginate', '3.0.3' 
gem 'country_select', '1.0.1' 
gem 'paypal-sdk-rest' 

# Use unicorn as the web server 
gem 'unicorn' 
gem 'jquery-rails', '2.1.4' 
gem 'paperclip', '3.2.1' 
gem 'feedzirra', '0.0.24' 
gem 'delayed_job', '4.1.0' 
gem 'delayed_job_active_record', '4.1.0' 
gem 'daemons', '1.1.9' 

gem 'therubyracer', '0.12.0' 

# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+) 
# gem 'ruby-debug' 
# gem 'ruby-debug19' 

# Bundle the extra gems: 
# gem 'bj' 
# gem 'nokogiri' 
# gem 'sqlite3-ruby', :require => 'sqlite3' 
# gem 'aws-s3', :require => 'aws/s3' 

gem 'rsolr', '1.0.7' 
gem 'sunspot', '1.3.3' 
gem 'sunspot_solr', '1.3.3' 
gem 'sunspot_rails', '1.3.3' 
gem 'hpricot', '0.8.6' 

gem 'roadie', '2.3.4' 


group :assets do 
    gem 'sass-rails' 
    gem 'uglifier' 
end 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
group :development, :test do 
    # Deploy with Capistrano 
    gem 'capistrano', '2.13.5' 
    gem 'capistrano-rbenv' 
    gem 'rspec-rails', '~> 2.6' 
    gem 'machinist', '2.0' 
    gem 'faker', '1.0.1' 
    gem 'syntax', '1.0.0' 
    gem 'progress_bar', '0.4.0' 
end 

group :development do 
    gem 'active_record_query_trace', '1.1' 
end 

すべてのヘルプは大幅にいただければ幸いです。

答えて

0

さて、私はそれを理解しました。 RAILS_ENV=production script/delayed_job stopコマンドは、以前のリリースであるcurrentフォルダで実行されていました。 Ruby 2.1.5を強制するためにrbenvを使用していたので、以前のリリースの宝石はRubyの現在のバージョンにはインストールされていなかったので、delayed_jobが不平を言っていたのです。 currentディレクトリのbundle installを実行すると問題が解決しました。

関連する問題