0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rubyのversionは.rbenv/versionファイルで管理されている

Posted at

.rbenv/version

.rbenv/version ファイルには、現在使用しているruby versionが記述されており、
rbenv global x.x.x コマンドなどでversionを変更すると、.rbenv/versionの内容も書き換えられる。

[ec2-user@al1-gemlist ~]$ ruby -v
ruby 2.5.7p206 (2019-10-01 revision 67816) [x86_64-linux]
[ec2-user@al1-gemlist ~]$ cat .rbenv/version
2.5.7
[ec2-user@al1-gemlist ~]$ rbenv global 2.5.8
[ec2-user@al1-gemlist ~]$ ruby -v
ruby 2.5.8p224 (2020-03-31 revision 67882) [x86_64-linux]
[ec2-user@al1-gemlist ~]$ cat .rbenv/version
2.5.8

.rbenv/version を編集するとどうなるか

それでは、逆に .rbenv/versionの方をviで編集するとどうなるか。
試しに、今現在.rbenv/version の中身を2.5.8 から2.5.0に変更してみる。

[ec2-user@al1-gemlist ~]$ sudo vi .rbenv/version
[ec2-user@al1-gemlist ~]$ cat .rbenv/version
2.5.0
[ec2-user@al1-gemlist ~]$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

rubyのversionがファイルの内容に従って変更されているのが分かる。
また、rbenv versionsコマンドで確認してみると、

[ec2-user@al1-gemlist ~]$ rbenv versions
  system
* 2.5.0 (set by /home/ec2-user/.rbenv/version)
  2.5.1
  2.5.2
  2.5.3
  2.5.4
  2.5.5
  2.5.6
  2.5.7
  2.5.8
  2.6.2

こちらに関しても2.5.0になっている事が確認できる。

疑問点

しかし、ここで一つ疑問があります。
version確認コマンド上ではrubyのversionは2.5.0と表示されているのは分かったが、「内部的にも2.5.0に変更されているのであろうか」という事です。

確認方法として、opensslというgemのversionを確認します。
このgemは
rubyが2.5.8の場合2.1.2
rubyが2.5.0の場合2.1.0 となります。
(詳しくは、こちらを参照)

つまり、opensslのversionが2.1.0であれば、内部的にもruby versionが2.5.0に変更されていると言えます。

結果

[ec2-user@al1-gemlist ~]$ gem list openssl

*** LOCAL GEMS ***

openssl (default: 2.1.0)

従って、内部的にも変更出来ていることが確認出来ました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?