私はCapistranoを持つサーバーに初めてのアプリケーションをデプロイしようとしていますが、を管理していると少しぼんやりしていますです。bundler/capistranoが正しいルビーバージョンの宝石をインストールしていません
これらは私の(サーバーおよびワークステーション)のあるバージョン:
- のRails 3.2.8
- RVM 1.16.17
- 宝石1.8.24
- バンドラー1.2.1
- PG宝石0.14.1
私のジェムセットは、
です。(/usr/local/rvm/gems/ruby-1.9.3-p194で見つかった)ルビー-1.9.3-P194のためのGemsets
- (デフォルト)
- グローバル
- => rail3dev20120606
私はデフォルトのgemsetを設定します。:私は実行すると
rvm use [email protected] --default --passenger
cap bundle:install
タスクが成功で終わるが、私がやるとき:
gem list
を、彼らは私のGemfileに存在しているものの、多くの行方不明の宝石があります。 /var/www/opf/shared/bundle/ruby/で私の宝石をチェックすると、1.9.1と/var/www/opf/shared/bundle/ruby/1.9というフォルダがあります.1/gems /私は必要なすべての宝石(Gemfileで指定されている)を好きになります。私は、ルビーバージョンに問題があると確信していますが、どうすればこの問題を解決できますか?私は、任意のすくいコマンドを実行する場合、それはデシベルとpostgresql_adapterを使用してアクセスしようとして、現時点では
は、私は、ルビークラッシュ[バグ]セグメンテーションフォールトを得た:
/var/www/opf/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213: [BUG] Segmentation fault
私はできるだけ多くの宝石があると思います不足している宝石の依存関係が確認されていない可能性があります。また、互換性のないルビーバージョン1.9.1を使用しているかもしれませんが、1.9.3を期待しています。
私は問題がルビーのバージョンと宝石を管理することだと思います。私は確かにgemsetとcapistrano配備といくつかのミックスをやっています。
私は経験と情報がありません。 誰も私にサーバー上でこれを処理する方法を教えてもらえますか?ベストプラクティスは何ですか?
私はどのように私のルビーバージョンを更新すると思いますか?カピストラーノdeploy.rbと?手動で? RVMあり/なし? 1.9.3-p327の新バージョンがリリースされたばかりです。
gemsetを使用する必要がありますか?私のdeploy.rbの:rvm_ruby_stringはどうでしょうか?正しく綴られていますか、またはp194部分を除去すべきですか?私は:rvm_ruby_stringを削除する必要がありますか?それを保つ? .rvmrcファイルを使用しますか?
私は本当に失われて、何か親切な助けが歓迎されるでしょう。
これはいずれにせよ、私のconfig/deploy.rbです:任意の助け
require 'bundler/capistrano'
require File.join(File.dirname(__FILE__), 'deploy') + '/capistrano_database'
set :rvm_type, :system
set :rvm_ruby_string, '[email protected]'
require 'rvm/capistrano'
set :application, 'opf'
set :deploy_to, '/var/www/opf'
set :rails_env, 'production'
set :user, 'the_user'
set :use_sudo, false
set :group_writable, false
set :scm, :git
set :repository, '[email protected]:user/opf.git'
set :branch, 'master'
default_run_options[:pty] = true
set :deploy_via, :remote_cache
server '192.168.5.200', :web, :app, :db, :primary => true
# If you are using Passenger mod_rails uncomment this:
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
end
おかげで
感謝を。なぜこのエラーが出るのかわからない/var/www/opf/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:[BUG]セグメンテーション失敗。そしてなぜフォルダがruby/1.9.1と呼ばれるのか。それは1.9.3の代わりに使用されるルビ1.9.1ですか? – Douglas
1.9.1は、すべての1.9.xルビーの互換性レベルです。これは新しい質問です。 – mpapis
申し訳ありませんが、最初の答えは分かりません。私の宝石をどうやって使うのですか?私は宝石を私のappフォルダに保存したくない。 gemsetは宝石を管理するために存在しているので、これは意味をなさない。 – Douglas