LoginSignup
3
3

More than 5 years have passed since last update.

rbenvをシステムワイドにインストールしてのCapistranoデプロイする時にRBENV_ROOTが$HOMEからのになって困った(><)

Posted at

http://office.tsukuba-bunko.org/ppoi/entry/systemwide-rbenv
こんな風に /usr/local/rbenv にインストールした後、デプロイしようとして

(master) $ bundle exec cap production deploy
 DEBUG [0178f860] Running [ -d $HOME/.rbenv/versions/2.3.1 ] as myapp@x.x.x.x
 DEBUG [0178f860] Command: [ -d $HOME/.rbenv/versions/2.3.1 ]

こんな感じになってしまったらインストールが失敗してしまう(当たり前)。サーバー側のrbenvは$HOMEと関係ないとこに入ってるのだから。

capistrano/rbenvがこのパスを操作しているらしいことはrequireを消したりしてみたらわかった。とりあえずその周辺が怪しい。

こちらを確認してたらrbenvについてのオプションがあった。下記のような内容にしたらいいんだなー。

set :rbenv_ruby, '2.3.1'
set :rbenv_path, '/usr/local/rbenv'
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec"

rbenv_path の指定が大事ですよということで。

あと、こちらによると default_environmentの設定も大事ですよと。
http://tk0miya.hatenablog.com/entry/2013/02/18/115433

あんまりcapistranoいじり倒したことなくて、相談受けた時にすぐにわからんかった。まだまだ修行が足らんのう。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3