LoginSignup
0

More than 1 year has passed since last update.

rbenv globalで切り替わらない!?

Posted at

はじめに

今までは仮想環境(Vagrant+VirtualBox)で学習をすすめていたのですが、ローカル環境を経験しておきたいということから、環境構築をはじめました。初学者は環境構築で挫折するということなので、経験しておくのも一興かと思って足を踏み入れたのでした。

何にハマったのか

「現場で使えるRuby on Rails 5 速習実践ガイド 5.2対応」を見ながら、ローカル環境構築をしています。Homebrew、rbenv、Rubyのインストール後、rbenv globalでバージョンが切り替わりませんでした。

ハマるまでの道のり

Rubyをインストールする

rbenvを使ってRubyをインストール。バージョンは2.5.1を指定します。

% rbenv install 2.5.1

インストールが終わったら、システム全体で使用するRubyのバージョンをrbenvに設定。

$ rbenv global 2.5.2

正しくインストールしたバージョンのRubyが利用できるか確認します。

% ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]
# ruby 2.5.1 を想定していました。

おや?希望していた結果と違いますね。
PATHの設定を見てみましょう。

% which ruby
/usr/bin/ruby
# /Users/[username]/.rbenv/shims/ruby を想定していました。

PATHの設定ができていないことが原因のようです。
PATHを確認してみます。

% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

なるほど。そもそもPATHがありません。
/Users/[username]/.rbenv/shims/があることが望ましいはずです。
これからはPATHを通す作業に入ります。

PATHを通す

% rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init -)"

~/.zshrc:eval "$(rbenv init -)"を追記してください」とあるので従います。

% vi .zshrc
eval "$(rbenv init -)"

追記したら、反映させます。

% source ~/.zshrc

PATHが通せたか確認しましょう。

% which ruby
/Users/[username]/.rbenv/shims/ruby

% echo $PATH
/Users/[username]/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

期待どおりになっています。
きっとRubyのバージョンも期待通りになっていることでしょう。

% ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

おや?
またもや希望していた結果ではありませんね。困りました。

rbenv globalで切り替わらない

現状の再確認をしてみます。

  • Ruby 2.5.1 インストール済
  • PATHは通せている
  • rbenvでバージョン切り替えができない

特に気になっていたのはrbenv globalで切り替えができないことです。

% rbenv versions
* system (set by /Users/meg/.ruby-version)
  2.5.1

どうしてだろう。
どうやら中身を書き換える方法があるらしい。

% cat .ruby-version
system

% vi .ruby-version
2.5.1

% cat .ruby-version
2.5.1

なんだか無理矢理感はありますが。どうなのでしょう。
rbenv rehashをする。

% rbenv global 2.5.1
% rbenv rehash
% ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin20]

できました!

参考記事

さいごに

Rubyの切り替えの記事は結構あるのですが、このケースの記事はあまりなかったので苦労しました。
今回の件でPATHとかシェルが学習不足だとわかったので、その分野も学習していかねばなりませんね。

もっと良い方法、また間違い等がありましたらコメントいただけると有り難いです。
最後までご覧いただき、ありがとうございました。

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