MacのデフォルトRubyのバージョンをrbenvでアップさせる方法のメモ

rubyアイキャッチ

現在取り掛かっているslackのようなチャットアプリ開発にあたり、つまづいた部分をメモしておきます。

初期状態

Yutas-MacBook-Air:ruby ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] Yutas-MacBook-Air:ruby ushijimayuuta$

rbenv は ruby のバージョン管理ツールです。これを使うことで、 mac 上で複数のバージョンの ruby を切り替えながら使うことができます。

実行すると下記のようになる。

######################################################################## 100.0%
==> Pouring pkg-config-0.29.2.sierra.bottle.tar.gz
:beer: /usr/local/Cellar/pkg-config/0.29.2: 11 files, 627KB
==> Installing rbenv dependency: ruby-build
==> Downloading https:https://github.com/rbenv/ruby-build/archive/v20170523.tar.gz
==> Downloading from https:https://codeload.github.com/rbenv/ruby-build/tar.gz/v201705
######################################################################## 100.0%
==> ./install.sh
:beer: /usr/local/Cellar/ruby-build/20170523: 346 files, 183.3KB, built in 8 seconds
==> Installing rbenv
==> Downloading https:https://homebrew.bintray.com/bottles/rbenv-1.1.1.sierra.bottle.t
######################################################################## 100.0%
==> Pouring rbenv-1.1.1.sierra.bottle.tar.gz
:beer: /usr/local/Cellar/rbenv/1.1.1: 36 files, 62.8KB
Yutas-MacBook-Air:ruby ushijimayuuta$ rbenv install 2.4.1
ruby-build: use openssl from homebrew
Downloading ruby-2.4.1.tar.bz2...
-> https:https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
Installing ruby-2.4.1...
Installed ruby-2.4.1 to /Users/ushijimayuuta/.rbenv/versions/2.4.1

Yutas-MacBook-Air:ruby ushijimayuuta$ rbnev global 2.4.1
-bash: rbnev: command not found
Yutas-MacBook-Air:ruby ushijimayuuta$ rbenv global 2.4.1
Yutas-MacBook-Air:ruby ushijimayuuta$ rbenv rehash
Yutas-MacBook-Air:ruby ushijimayuuta$ (edited)

ruby -v

コマンドでバージョンを確認してみる。

Yutas-MacBook-Air:ruby ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] Yutas-MacBook-Air:ruby ushijimayuuta$

しかし変わらずな結果に。。

rbenv versions

って打つことでrbenvのバージョンを確認。

そのあと、一旦ターミナルを終了して再起動。


Yutas-MacBook-Air:ruby ushijimayuuta$ rbenv version
2.4.1 (set by /Users/ushijimayuuta/.rbenv/version)
Yutas-MacBook-Air:ruby ushijimayuuta$

Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

rbenvの導入はできているけど、rubyのバージョンは変更なし。

ruby の path が通ってなさそう。


rbenv init
source ~/.bash_profile

を実行してから、

ruby -v

で改めてバージョン確認。


Yutas-MacBook-Air:~ ushijimayuuta$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:

eval "$(rbenv init -)"

Yutas-MacBook-Air:~ ushijimayuuta$ source -/.bash_profile
-bash: source: -/: invalid option
source: usage: source filename [arguments] Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

変わってない気が。。。(sourceのコマンドが間違っている!)

`source ~/.bash_profile`が正しい。


Yutas-MacBook-Air:~ ushijimayuuta$ source ~/.bash_profile
-bash: /Users/ushijimayuuta/.bash_profile: No such file or directory
Yutas-MacBook-Air:~ ushijimayuuta$ source ~/.bash_profile
-bash: /Users/ushijimayuuta/.bash_profile: No such file or directory
Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] Yutas-MacBook-Air:~ ushijimayuuta$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:

eval "$(rbenv init -)"

Yutas-MacBook-Air:~ ushijimayuuta$ source ~/.bash_profile
-bash: /Users/ushijimayuuta/.bash_profile: No such file or directory
Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] Yutas-MacBook-Air:~ ushijimayuuta$

改めて実行してみるも、「No such file or directory」で「`bash_profile’」 のファイルなんかねーよ!」と怒られてるっぽい。

touch ~/.bash_profile
rbenv init
source ~/.bash_profile
ruby -v

を実行すると?


Yutas-MacBook-Air:~ ushijimayuuta$ touch ~/.bash_profile
Yutas-MacBook-Air:~ ushijimayuuta$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:

eval "$(rbenv init -)"

Yutas-MacBook-Air:~ ushijimayuuta$ source ~/.bash_profile
Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

やっぱりまだ更新されてない。。。


echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
ruby -v

上記のコマンドを実行。


Yutas-MacBook-Air:~ ushijimayuuta$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
Yutas-MacBook-Air:~ ushijimayuuta$ source ~/.bash_profile
Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

それでもダメ。。。

ここで考え方を変えて、下記コマンドを実行。

which rbenv

コマンドを叩いてみると・・・?

Yutas-MacBook-Air:~ ushijimayuuta$ which rbenv
/usr/local/bin/rbenv
Yutas-MacBook-Air:~ ushijimayuuta$

なんかローカルにできているっぽい。一回プロファイルを削除して再トライ。


rm ~/.bash_profile
touch ~/.bash_profile
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

上記のコマンドを一つ一つコピペして実行させる。

1 行目で `bash_profile` ローカルにあったプロファイルを削除して、新しくパスを通す。

「`echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bash_profile`」 は、 rbenv の path を bash_profile に追加。

「`echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile`」 で、ターミナル起動時に path を読み込むようにしています。
そのため、ターミナルを再起動してもらいました

[12:04] `source ~/.bash_profile` は bash_profile の読み込み(更新)をしています。

一通り実行し終わったら、ターミナルを終了。(window を閉じるだけでなく、cmd+Qで終了させる)

起動したのちに`ruby -v`でバージョンの確認。


Yutas-MacBook-Air:~ ushijimayuuta$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]

ようやくバージョンを管理することができましたー!いやー、長かった!

コメントを残す

メールアドレスが公開されることはありません。