2012-03-14 4 views
1

Ruby on Rails 3.2.2アプリケーションをUbuntu 10.04 LTSを実行しているリモートマシンに配置するために、CapistranoとRVMを正しく使用しようとしています。私は "How do I configure capistrano to use my rvm version of Ruby"の質問/回答と "Using RVM rubies with Capistrano"の公式文書を読んでいますが、Rvm - Capistranoの統合に関するいくつかの問題がまだあります。 (詳細については、公式ドキュメントを参照してください)RVMのカピストラーノプラグイン経由統合に関連する例えばRvm - LinuxでのCapistranoの統合Ubuntu

私が作るために持っているものを正確に(私はどこ方法を理解していなかったので、関連コードを入力する)

あるいは、:default_environment経由統合に関連する(詳細については、公式ドキュメントを参照してください)、あなたが適切deploy.rbファイルに次のコードを必ず明記してください:

set :default_environment, { 
    'PATH'   => "/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:/path/to/.rvm/ree-1.8.7-2009.10/bin:$PATH", 
    'RUBY_VERSION' => 'ruby 1.8.7', 
    'GEM_HOME'  => '/path/to/.rvm/gems/ree-1.8.7-2010.01', 
    'GEM_PATH'  => '/path/to/.rvm/gems/ree-1.8.7-2010.01', 
    'BUNDLE_PATH' => '/path/to/.rvm/gems/ree-1.8.7-2010.01' # If you are using bundler. 
} 

それらのパスが参照する何? Linux Ubuntuを実行しているパス値を取得するにはどうすればよいですか?

最後に、どのインテグレーションタイプを使用するようアドバイスしますか?

答えて

1

まず、マシンにrvmがインストールされていることを確認してください。

rvmがインストールされていない場合は、RVM Installation Instructions またはRVM on Ubuntu 10.04を参照してください。

次に、rvmがインストールされている場所を確認します。これは、findまたはlocateコマンドを使用して実行できます。

など。これらのコマンドの出力で

find/-iname *rvm

または

locate rvm

あなたは/somedirectory/someotherdirectory/.rvm/gees/somethingelseのように見えるものが表示されます。

/somedirectory/someotherdirectory/あなたはdeploy.rb中で/path/to/を交換したり、Using RVM rubies with Capistranoで最初のオプションのマニュアルにアンシフトコマンドでENV['rvm_path']に代わるものです。 deploy.rb

経路は

/path/to/.rvm

RVMインストールパス

'PATH'あるからRVMバイナリを呼び出すために使用されるバイナリパスです。

PATHの詳細については、hereを参照してください。

GEM_HOMEは、Gemのホームディレクトリです。

宝石の詳細については、hereを参照してください。

'GEM_PATH'は、GemのPATHです。

'BUNDLE_PATH'は、バンドルのPATHです。

バンドルとバンドラーの詳細については、hereを参照してください。 RVM /カピストラーノ統合のための

+0

それは私がこの問題を解決することを縫い目。しかし、今私は別のエラーが表示されます:http://stackoverflow.com/questions/9703680/rvm-capistrano-and-delayedjob-the-you-need-to-add-gem-daemons-to-your-gemfi – user502052

0

私が作成したサンプルプロジェクトhttps://github.com/mpapis/ad

、あなたはそれがhttps://github.com/mpapis/ad/blob/master/config/deploy.rb

が最も重要な展開の前にサーバを訪問し、適切にインストールすることで、ここでの展開スクリプトを作成することでしたどのように簡単見ることができますルビー。

私はまた、RVM /ルビーをインストールするには、統合に新しいタスクを追加します - >https://github.com/wayneeseguin/rvm/issues/829

+0

私はこの問題を解決しました。しかし、今私は別のエラーが表示されます:http://stackoverflow.com/questions/9703680/rvm-capistrano-and-delayedjob-the-you-need-to-add-gem-daemons-to-your-gemfi – user502052

関連する問題