問題
asatokensei@MacBook-Air memopy % rbenv versions
system
2.6.6
2.7.0
* 2.7.1 (set by /Users/asatokensei/.rbenv/version)
asatokensei@MacBook-Air memopy % ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
rbenv versions では2.7.1
ruby -v では2.6.3
になっている。
共同開発で2.7.1を使いたい。
解決策
これは環境変数(PATH)がミスっているらしい。
ここからはUNIXコマンドの知識が必要なのでドットインストールで勉強をオススメ。↓
https://dotinstall.com/lessons/basic_unix_v2
ruby がどのパスから呼ばれているか見てみる。
asatokensei@MacBook-Air memopy % which ruby
/usr/bin/ruby
このパスはrbenv で入れた ruby ではなく、MacOSにデフォルトで入っている ruby が使われているらしい。
rbenv の ruby が呼ばれている場合のパス↓
$ which ruby
/Users/ユーザー名/.rbenv/shims/ruby
上のようになればいいらしい。
パスを確認してみると、、、
asatokensei@MacBook-Air memopy % echo $PATH
/usr/local/opt/mysql@5.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
/Users/ユーザー名/.rbenv/shims/ruby が含まれていないことがわかる。
→つまりrbenv の ruby が呼ばれていない。
/Users/ユーザー名/.rbenv/shims/ruby の ruby が優先して呼ばれるようにすれば良いので、このパスが環境変数(PATH)の先頭に来るように、~/.bashrc, ~/.zshrc などに設定する。
asatokensei@MacBook-Air memopy % rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
~/.zshrcを編集していく。
asatokensei@MacBook-Air memopy % vi ~/.zshrc
このコマンドをうつと、
export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
~
~
~
~
~
~
~
~
~
"~/.zshrc" 3L, 73C
こんな画面になる。
insertの i キーをうって編集。
eval "$(rbenv init -)"
↑の一文を入れる。
:wq で保存して出れる。
今やった設定を反映させるコマンド↓
asatokensei@MacBook-Air memopy % source ~/.zshrc
これで反映されたはずなので確認する。
asatokensei@MacBook-Air memopy % ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
asatokensei@MacBook-Air memopy % which ruby
/Users/asatokensei/.rbenv/shims/ruby
asatokensei@MacBook-Air memopy % echo $PATH
/Users/asatokensei/.rbenv/shims:/usr/local/opt/mysql@5.7/bin:/usr/local/opt/mysql@5.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
ちゃんと2.7.1になっており、パスも正しくなっている。
asatokensei@MacBook-Air memopy % rbenv versions
system
2.6.6
2.7.0
* 2.7.1 (set by /Users/asatokensei/.rbenv/version)
asatokensei@MacBook-Air memopy % ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
これでOK!!!
参考