君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

rbenvによって定められるバージョンはどこに保持されているのか(global, local)

globalの場合

$ rbenv versions
* 2.3.0 (set by /home/vagrant/.rbenv/version)
  2.3.1
  2.4.1

/home/vagrant/.rbenv/version

で指定されているらしい。確かめてみる。

$ cat /home/vagrant/.rbenv/version
2.3.0

確かにversionファイルに記述されている。

試しにバージョンを変えてみると、

$ rbenv global 2.3.1
$ cat /home/vagrant/.rbenv/version
2.3.1

versionファイルの記述が変わった。

localの場合

適当なディレクトリを作成し、rbenvでローカルのバージョンを指定してみる。

$ mkdir hoge & cd hoge
$ rbenv local 2.4.1
$ rbenv version
2.4.1 (set by /home/vagrant/hoge/.ruby-version)

ディレクトリ直下の.ruby-versionで指定されているようだ。

$ cat .ruby-version
2.4.1

確かに.ruby-versionファイルに記述されている。

開発プロジェクトごとにrubyのバージョンを固定するときは

リポジトリに.ruby-versionを上げておく。

rbenvによってrubyのバージョンが自動的に指定されるので、

意識せずとも開発者間でrubyのバージョンを揃えることができる。

便利。