この記事で行うこと
1. Homebrewのインストール
2. rbenvのインストール
3. rbenvのパスを通す
Homebrewのインストール
Homebrewの
Install Homebrewの文字直下のコマンドをターミナルにコピー・アンド・ペースト
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
####インストールしている途中
XcodeのCommandLineToolsをインストールするか尋ねられるので許可
→ リターン&パスワード入力
終了後にインストールの確認
$ brew -v
インストールできると下記のように出力される
brew -v
Homebrew 3.2.8
###rbenvをインストール
$ brew install rbenv
終了後にインストールの確認
$ rbenv -v
インストールできると下記のように出力される
rbenv -v
rbenv 1.1.2
####無事インストールされたがrbenvを使えないのはなぜ?
A. 理由はPATHが通っていないから。
わかりやすく書くと道が繋がっていない。
だからPATHというトンネルを通して使えるようにしなきゃならん。
ここが個人的にとてもややこしかった。
Macはシェルが2019年のmacOS Catalinaで切り替わっており、Qiitaでもよく見られているのはbashのPATHのものばかりだった。
// ここで初学者だったのでわからんかったんや......
// zshなのにbashの記事ばかりで独学なので一時期は詰んでた。
#####ホームディレクトリにPATHを通すファイルがあり、そこに追記する必要がある。
zshの場合 .zshrc
bashの場合 .bash_profile
となる。
####ログインシェル(いまシステムが使用しているシェル)の確認
$ echo $SHELL
下記のように表示される
# zshの場合
echo $SHELL
/usr/local/bin/zsh
# bashの場合
echo $SHELL
/usr/local/bin/bash
ログインシェルは切り替えることができるが、その前に使用可能なシェルを調べる
$ cat /etc/shells
下記のように出力される
cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh
/usr/local/bin/bash
同じシェルが2つあるのはどうして?
例えば下記
# bash
/bin/bash
/usr/local/bin/bash
# zsh
/bin/zsh
/usr/local/bin/bash
は2つある。
Homebrewを使う場合に、Homebrewに入っているシェルを使うことになる。
Homebrewがインストールされるのはlocalなので、シェルへのPATHは下記となる
/usr/local/bin/[シェル名]
usrはuserの略だと思われる。
ということでusr/localの方はHomebrewのシェル。
シェルの切り替えは[cat /etc/shells]の出力結果を参考にして、コピペする
切り替えのコマンドは
$ chsh -s [シェル名]
# 例)
$ chsh -s /bin/bash
打ち込むと、パスワードの入力が求められるので入力する。
ターミナルを再起動しシェルが切り替わったか確認する
echo $SHELL
ちなみにhomebrewでシェルをインストールしたい場合のコマンドは下記
# zsh
brew install zsh
# bash
brew install bash
上記でインストールしたのに[ /etc/shells ]で反映されないのであれば。
書き込む必要がある。
# brew install zshでzshをインストールした場合
echo `/usr/local/bin/zsh` >> ~/etc/shells
# brew install bashでbashをインストールした場合
echo `/usr/local/bin/bash` >> ~/etc/shells
で/usr/localにそれぞれのシェルがインストールされるので切り替えたいならどうぞ。
ログインシェルがわかったところでPATHを通していく方法を書く。
ターミナルで
cd
ls -a
zshの場合 .zshrc
bashの場合 .bash_profile
があるか確認する。
#####フォルダで確認する方法
open ~
フォルダが表示されると
command+. (コマンド+コンマ)
で隠しファイルを表示させてファイルがあるか確認する。
ないときはターミナルでtouchで作る
GUIで作ってもいいが、コマンドで作る方が楽。
cd
# zsh
touch .zshrc
# bash
touch .bash_profile
##PATHを通す
###重要
###PATHはgem installでpermissionエラーになった時の対応方法
から使わせていただきました。
PATHは共通で使用できます。
# rbenv PATH
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
####現在のmacOSのシェル = zsh のPATH
○は同じことを行っておりいずれか一つだけでOK
#####○ ターミナルで下記を打ち込む
vi ~.zshrc
echo '\n #rbenv \n [[ -d ~/.rbenv ]] && \n export PATH=${HOME}/.rbenv/bin:${PATH} && \n eval "$(rbenv init -)"' >> ~/.zshrc
#####○ またはvimにて[.zshrc]を編集
vi .zshrc
iで編集開始(空白なら下記をコピペ + :wq で終了)
# rbenv
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
を追記した後に:wqで終了保存
#####○ もしくはテキストエディタでの編集
はホームディレクトリで
command+. (コマンド+コンマ)
で隠しファイルを表示させて
.zshrcをテキストエディタにドラッグ・アンド・ドロップし編集
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
を追記し
command+S (コマンド+エス)
で保存。
○が終わったらsourceで.zshrcを更新する
source ~/.zshrc
####以前のmacOSのシェル = bash のPATH
●は同じことを行っておりいずれか一つだけでOK
#####● ターミナルで書きを打ち込む
echo '\n #rbenv \n [[ -d ~/.rbenv ]] && \n export PATH=${HOME}/.rbenv/bin:${PATH} && \n eval "$(rbenv init -)"' >> ~/.bash_profile
#####● またはvimにて[.bash_profile]を編集
$ vi .bash_profile
iで編集開始(空白なら下記をコピペ + :wq で終了)
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
を追記した後に:wqで終了保存
#####● テキストエディタでの編集
はホームディレクトリで
command+. (コマンド+コンマ)
で隠しファイルを表示させて
.bash_profileをテキストエディタにドラッグ・アンド・ドロップし編集
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
を追記し
command+S (コマンド+エス)
で保存。
●が終わったらsourceで.bash_profileを更新する
source ~/.bash_profile
###PATHが通っているかの確認
rbenv version
を入力する
rbenv version
2.6.6 (set by /Users/module/.rbenv/version)
# 内容説明
[バージョン] (set by /Users/[ユーザ名]/.rbenv/version)
と出力され .rbenv の由来となっていると通っているのが確認できる。
しかしここで
.rbenv/version
というディレクトリが出力されていないのであれば、PATHが通せていないということになる。
Macは購入時からすでにRubyがインストールされており、デフォルトの設定はそちらになっている。
Macのデフォルトのrubyに繋がっている場合は、可能であればそちらを削除することが望ましい。
PATHが通っていない場合はいま一度みかえし、確認をする。