Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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を消したりしてみたらわかった。とりあえずその周辺が怪しい。

http://qiita.com/hmuronaka/items/d8edd5bb252711684b99

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

ms2sato
何でも屋だが、最近はRails中心。JavaScript好き。レビューやタスク分解が多くて近頃仕事ではコード書けていない。仕事でもプライベートでもコラボできる人が常に欲しい人。 会社では人を育てるの中心で https://circlearound.co.jp/training/ こんなのやってます。 独り言はこっち https://ms2sato.circlearound.co.jp
https://circlearound.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away