homebrewのインストールからRailsまで No.01

この記事で行うこと

```
1. Homebrewのインストール
2. rbenvのインストール
3. rbenvのパスを通す 
```

### Homebrewのインストール
[Homebrew](https://brew.sh)の
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エラーになった時の対応方法](https://qiita.com/nishina555/items/63ebd4a508a09c481150)
から使わせていただきました。

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が通っていない場合はいま一度みかえし、確認をする。


参考記事:
[gem installでpermissionエラーになった時の対応方法](https://qiita.com/nishina555/items/63ebd4a508a09c481150)