症状
- rbenvで使いたいrubyバージョンを入れたけど、なぜかTeamCity上ではそのバージョンに切り替えられない。
-
rbenv versions
を見ると、なぜかsystem
しか表示されない。
調査
rbenv --debug version
の結果を比較してみる:
作業用のbash session:
+ [rbenv:23] enable -f /usr/local/Cellar/rbenv/1.1.1/libexec/rbenv-realpath.dylib realpath
+ [rbenv:53] '[' -z '' ']'
+ [rbenv:54] RBENV_ROOT=/Users/*****/.rbenv
...
TeamCity:
[15:38:16][Step 2/3] + rbenv --debug versions
[15:38:16][Step 2/3] + [rbenv:23] enable -f /usr/local/Cellar/rbenv/1.1.1/libexec/rbenv-realpath.dylib realpath
[15:38:16][Step 2/3] + [rbenv:53] '[' -z /usr/local/Cellar/rbenv/1.1.1 ']'
[15:38:16][Step 2/3] + [rbenv:56] RBENV_ROOT=/usr/local/Cellar/rbenv/1.1.1
...
$RBENV_ROOT
がなぜか違う。どうやら、TeamCityでは $HOME/.rbenv
を認識していないようなので、TeamCityのスクリプトで下記を追加:
export RBENV=/Users/*****/.rbenv
これにより解決。