Ruby
rbenv
TeamCity

TeamCity上でrbenvでrubyバージョンを変えられない問題

More than 1 year has passed since last update.


症状


  • 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

これにより解決。