OS X開発ワークステーションからRedHat Linux 5プロダクションサーバにRailsアプリケーションを配備しようとしています。Capistrano Railsの展開 - "宝石を見つけられません...ロールバック"
cap deploy
のフル出力をthis gistに入力しました。私はここを参照してください
** [out :: [email protected]] Could not find gem 'awesome_print (>= 0) ruby' in any of the gem sources listed in your Gemfile.
** [out :: [email protected]] Run `bundle install` to install missing gems.
command finished in 663ms
*** [deploy:update_code] rolling back
これらは、問題のいくつかを以下のとおりです:
問題を示し、出力のこの部分、私は思う
awesome_print
が:development
グループ内にあるので、カピストラーノそれを本番環境にインストールしようとしてはいけません。いずれの場合でも、すべての宝石はrubygems.orgで入手可能ですので、インストールには問題ありません。
誰もがcap deploy
を働かせる方法を知っていれば、私はそれを知っていただければ幸いです。ありがとう。
マイGemfile ...
source 'https://rubygems.org'
gem 'rails', '3.2.2'
gem 'mysql2', '0.3.11'
gem 'capistrano', '2.11.2'
gem 'haml-rails', '0.3.4'
gem 'net-ldap', '0.3.1'
gem 'bourbon', '1.4.0'
gem 'simple_form', '2.0.1'
gem 'will_paginate', '3.0.3'
group :development, :test do
end
group :development do
gem 'wirble'
gem 'awesome_print'
gem "autotest", '4.4.6'
gem "autotest-rails-pure", '4.1.2'
gem "autotest-fsevent", '0.2.8'
gem "autotest-growl", '0.2.16'
end
group :test do
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', '0.9.10'
gem 'uglifier', '>= 1.0.3'
end
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
開発グループの下に 'awesome_print'の宝箱が表示されていますが、もしあなたがprodに配備しているのであれば、bundleグループの宝石は無視されます。 – kreek
Doh、あなたの質問を読み返しました。 :) Gemfileから取り出した行を使ってデプロイメントを試しましたか? (理想的ではありませんが、動作するかどうかを確認するだけです) – kreek
Bundlerは、すべてのグループにわたって* everything *の依存関係とバージョンを解決します。それらのすべてをインストールするわけではありませんが、少なくともgemspecを見つける必要があります。これは、あなたが何をインストールしても開発==生産を保ちます。残念ながら、私はあなたが欠けている宝石のエラーを解決することはできません。 – dunedain289