34

プッシュ先のサーバーでデフォルトのrvmバージョンのrubyを使用するようにcapistranoに指示する方法を知っている人はいますか?それはシステムバージョンを使用することを主張します。

それも可能ですか?

4

6 に答える 6

37

2つのオプションがあります。

  1. PermitUserEnvironmentssh構成ファイルのオプションを使用して.ssh環境変数を有効にします
  2. capistrano:default_environment設定を使用します

2番目のオプションについては、deploy.rbファイルに次の行を追加するだけです。

set :default_environment, { 
  'PATH' => "/path/to/.rvm/ree-1.8.7-2009.10/bin:/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:$PATH",
  'RUBY_VERSION' => 'ruby 1.8.7',
  'GEM_HOME' => '/path/to/.rvm/gems/ree/1.8.7',
  'GEM_PATH' => '/path/to/.rvm/gems/ree/1.8.7' 
}

正確な場所を取得するには、をご覧くださいcat ~/.rvm/default

于 2009-12-30T09:23:02.490 に答える
23

rvmバージョンが開発マシンと本番マシンの両方で最近のものである場合は、次をdeploy.rbに追加します。

set :rvm_ruby_string, '1.9.2@yourapp' # you probably have this already
set :rvm_type, :user # this is the money config, it defaults to :system
于 2011-01-16T00:17:31.193 に答える
10

rvm-capistrano宝石 は行くための最良の方法です。

その宝石の公式の詳細な使用法へのリンク。それから私はこれがRubyのローカルバージョンを取得すると推測しています:

set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
于 2012-05-22T16:36:55.377 に答える
7

http://rvm.io/integration/capistrano/を参照してください。「rvmcapistranoプラグインを介した統合」は勝者のように見えます。

そしてhttp://rvm.io/deployment/

于 2010-08-31T22:48:53.653 に答える
1

最も簡単な方法は、必要なバージョンを追加することです。追加するだけ

ruby-2.5.0

文字列(または必要なバージョン)をルートフォルダーの.ruby-versionに入れます。deploy.rbやややハッキーなソリューションを構成する必要はありません。

于 2019-12-31T06:07:37.507 に答える
0

set :rbenv_ruby, "3.0.0"rbenvの場合は、変更することを忘れないでくださいCapfile:)

于 2021-03-07T03:30:04.627 に答える