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いじり倒したことなくて、相談受けた時にすぐにわからんかった。まだまだ修行が足らんのう。