.rbenv/version
The .rbenv / version
file describes the ruby version you are currently using.
If you change the version with the rbenv global x.x.x
command etc., the contents of .rbenv / version
will also be rewritten.
[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
Then, what happens if you edit .rbenv / version
with vi?
As a test, change the contents of .rbenv / version
from 2.5.8
to 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]
You can see that the version of ruby has been changed according to the contents of the file.
Also, if you check with the rbenv versions
command,
[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
It can be confirmed that this is also 2.5.0.
However, there is one question here. I understand that the version of ruby is displayed as 2.5.0 on the version confirmation command, but it means "Is it changed to 2.5.0 internally?"
As a confirmation method, check the version of the gem called openssl.
This gem is
When ruby is 2.5.8 2.1.2
If ruby is 2.5.0, it will be 2.1.0
.
(For details, refer to here)
In other words, if the version of openssl is 2.1.0
, it can be said that the ruby version has been changed to 2.5.0 internally.
[ec2-user@al1-gemlist ~]$ gem list openssl
*** LOCAL GEMS ***
openssl (default: 2.1.0)
Therefore, it was confirmed that it could be changed internally.
Recommended Posts