ろきメモ【ROKI MEMO】- ろきsanの備忘録 -

ろきさんの備忘録。プログラミング学習記録や開発記録、および学んだ知識等のアウトプットとシェアを目的に書いています。たまに普通のことも書きます。

【Homebrewインストール方法】Xcodeのインストール〜環境変数の設定、各コマンドの解説まで

スポンサーリンク

どーもぼくです。

以前、「pyenv」でPythonやAnacondaをインストールしたり、「rbenv」でRubyをインストールした記事を書きましたが、その際必要となる「Homebrew」のインストールや環境変数等の準備について割愛していました。

今回はこれらについて、備忘録と環境構築の理解を深めるために、各コマンドの解説ありで書きます。


以前書いた記事はこちら。
ahrk-izo.hatenablog.com
ahrk-izo.hatenablog.com
※2年半前のRubyの記事は理解も甘いし、タイトルも雑だし。。。
rbenvでのRubyインストールはまたちゃんとまとめる予定。
→書きました。記事の終わりにリンクをつけてます。


では今回やることは以下の通り。


スポンサーリンク



STEP1 : Xcodeインストール

Xcodeのインストールから丁寧に書く

お馴染み(?)App Storeを起動。
f:id:ahrk-izo:20190204191740p:plain:w200

検索に「Xcode」と入力して、Xcodeを出して、「入手」をクリック
f:id:ahrk-izo:20190204191545p:plain:w300
※入手済みなので、「開く」となっているが、それはご愛嬌


無事「入手」できると、アプリケーション内にできている
f:id:ahrk-izo:20190204192103p:plain:w300


一旦こいつをダブルクリックで起動して、インストールを完了させる。

待つ。。。
f:id:ahrk-izo:20190204192246p:plain:w300

インストール&起動完了。
f:id:ahrk-izo:20190204192419p:plain:w400

これでインストールは完了。



STEP2 : Command Line Toolsをインストール

Xcodeコマンドライン(ターミナル)で操作できるようにするため、これをインストール。
これなくて、pyenvのとき失敗したな。(アップデートすると再度必要なのかも!)


最近のXcode(6.1以降?)の場合は、Command Line Toolsは自動的にインストールされているらしい。
インストールできているかは確認する方法は、以下の通り。

Xcode > Preferences…
f:id:ahrk-izo:20190204194205p:plain:w200

Locations > Command Line Tools にXcodeのバージョンが表示されていればインストール済み
f:id:ahrk-izo:20190204193522p:plain:w400


ない場合は、以下の手順でインストールしていく。

ターミナルを起動し、以下のコマンドを実行する(GUIでもできるらしいがコマンドでしかやっていない)

$ xcode-select --install

画面が現れる(びっくりしないでよい)
f:id:ahrk-izo:20190204194733p:plain:w500
「"xcode-select"コマンドを実行するには、コマンドラインデベロッパ・ツールが必要です。ツールを今すぐインストールしますか?」

もちろん「インストール」

「Command Line Tools 使用許諾契約」とでるので「同意」する(日本語でありがたい)
f:id:ahrk-izo:20190204195035p:plain:w400

待つ。。。
f:id:ahrk-izo:20190204195124p:plain:w400

インストール完了。はい「完了」
f:id:ahrk-izo:20190204195147p:plain:w400


「Quit Xcode」または「command + q」で終了してOK
f:id:ahrk-izo:20190204192627p:plain:w200



STEP3 : Homebrewのインストール

いよいよ本命のインストール
Homebrewのページ(https://brew.sh/index_ja.html)にも載っているが、
ターミナルで、以下のコマンドを実行する

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

はい。全然意味わかんないですね。

いろんなサイトにインストール方法は載っているけど、このコマンドの意味をちゃんと書いているのはあまりなかった。

だからぼくも同時はわからんのにコマンド実行してた。怖い怖い。


だけど今はだいたいわかったので、解説してみる
要は、
curlコマンドで(オプション-fsSLをつけて)「https://raw.githubusercontent.com/Homebrew/install/master/install」を取得
(取得したものはRubyのコード)※1
・取得したコードを、Rubyの特殊変数$として
・「/usr/bin/ruby -e」でワンライナー実行する

※1 ブラウザでアクセスしてみるとこんな感じのコード。
f:id:ahrk-izo:20190206204111p:plain:w400

結局はこのRubyコードを実行してHomebrewをインストールしているという話。


「/usr/bin/ruby」ってのは、デフォルトで入っているRubyのこと。
Macには、「/usr/bin」の中に最初っから入っているのだ。

ワンライナー実行とは、コードをファイルに保存しなくても実行できる便利なやつ
例えば「/usr/bin/ruby -e 'puts "Hello World!"'」を実行すると「Hello World!」と出力される
f:id:ahrk-izo:20190208191346p:plain:w300
ほら。


さて、なんとなくコマンドに意味がわかったところで、安心して実行していく。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
...
...
Press RETURN to continue or any other key to abort

f:id:ahrk-izo:20190204200151p:plain:w400

わらわらとインストールされて、
「Press RETURN to continue or any other key to abort」
(続行するにはReturnキーを、中止するには他のキーを押してくれ)
と出たので、

「return」キーを押す。


続いてパスワードを聞かれる

...
Password:

f:id:ahrk-izo:20190204200541p:plain:w400
Macのパスワードを入力して「return」※文字は出てこない

またわらわととインストールされて
f:id:ahrk-izo:20190204200920p:plain:w400

インストール完了!


これで終わり!・・・そうは問屋が卸さない。※


このままでは「pyenv」や「rbenv」をインストールする際に使用する「brewコマンド」が使えない。

試しにバージョンを確認する「brew -v」を実行してみる

$ brew -v
zsh: command not found: brew

f:id:ahrk-izo:20190208183015p:plain:w300
brewなんてコマンドねぇ!」って言われた

なので「brew」が使えるように、そこの実行ファイルがあるところまでPATHを通す。

※他の「Homebrewインストール」の記事では、このPATHの設定の記述がないのが多い。もしかしたら最近は不要になったかも。
もしこの時点で「brew -v」が実行できた方は最後の「STEP5 : 動作チェック」まで飛んでOK


※「そうは問屋が卸さない」

そんな安値では問屋が卸売りしない。そんなにぐあいよくいくものではないというたとえ。
コトバンクより)

昔は問屋さんが卸してくれないと、お店に商品が並ばなかったからね。(どうでもいい)

スポンサーリンク



STEP4 : PATHの設定

brew」のPATHを通す設定をしていく

ところで、Homebrew本体はどこにインストールされてる?
→「/usr/local」にインストールされてる

lsコマンドで確認できる

$ ls /usr/local

f:id:ahrk-izo:20190206201827p:plain:w400
いた。

この中の「/usr/local/Homebrew/bin」に「brew」本体があるが、
「/usr/local/bin」にエイリアス(ショートカットのようなもの)があるのでこちらのPATHを通す。

$ ls /usr/local/bin

f:id:ahrk-izo:20190206210050p:plain:w400
いた。エイリアスが。

ソフトリンク (Soft Link) とは、コンピュータのディスク上で扱うファイルやディレクトリを、本来の位置にファイルを残しつつそれとは別の場所に置いたり別名を付けてアクセスする手段である。複製とは違い、実体がないこと、ソフトリンクで開いたファイルへの操作が実物のファイルにも反映されること、ファイルサイズが小さいのが特徴。
実際には、各種OSによって名称も異なっており、それぞれ、
Microsoft Windows - ショートカット
Mac OS - エイリアス
UNIX - シンボリックリンク
NTFSを搭載したWindowsWindows XP等) - ジャンクション
Wikipediaより)

(OSによって呼び方違うんだ。。。)


PATHを通すには以下のコマンドを実行。

$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
$ source .bash_profile

はい。実行しても特にリアクションがない
何がどうなったの?って人のために解説してみる。


上記のコマンドは、
・HOMEディレクトリにある「.bash_profile」というファイルに、
・「export PATH=/usr/local/bin:$PATH」という文字列を追記する。
・「source .bash_profile」で.bash_profileの内容を反映され、
環境変数PATHが更新される。

という意味。
※「~/」はHOMEという場所を指す


さらに、「export PATH=/usr/local/bin:$PATH」の意味は何かと言うと、
・exportコマンドを使って、
・もともとの環境変数PATHの前に「/usr/local/bin:」を追加して、
環境変数PATHを設定する

という意味。


本当にそうか、まず「.bash_profile」というファイルの中身も確認してみる。
catコマンドで見れる(ターミナルに中身を表示するだけのコマンド)

$ cat ~/.bash_profile
export PATH=/usr/local/bin:$PATH

f:id:ahrk-izo:20190208185415p:plain:w300
はい。ばっちり。


次に環境変数PATHを表示して確認してみる
今度はechoコマンド

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

「$」を忘れずに。

元々のPATH「/usr/bin:/bin:/usr/sbin:/sbin」の前に、
「/usr/local/bin:」が追加されているのがわかる。
※元々のPATHは人によって違う場合あり
※追加されていない場合は、ターミナルを再起動。またはスペルミスをチェック。



これでようやく「brew」コマンドが使えるようになった。

さっそく以下のコマンドでバージョン確認

$ brew -v
Homebrew 0.9.9 (git revision 2b9a; last commit 2016-07-21)
Homebrew/homebrew-core (git revision 926d; last commit 2016-07-23)

はい。OK。

もし、「Error: You have not agreed to the Xcode license.」とかいうエラーになった場合はこちらを参考に
ahrk-izo.hatenablog.com


では最後は動作チェック。


STEP5 : 動作チェック

以下のコマンドで動作環境のチェック

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!


f:id:ahrk-izo:20190205193944p:plain:w400

これでOK
(ワーニングがわらわらとあると思うけど大丈夫)


(2019/02/09 追記)
rbenvでのRubyインストールについても改めて書きました。これからRubyをインストールするって方はこちらもどうぞ。
ahrk-izo.hatenablog.com





Rubyはまずこれで勉強した。(ワンライナーについては書いてなかったかな)

たのしいRuby 第5版

たのしいRuby 第5版


参考にさせて頂いた記事
shuzo-kino.hateblo.jp



以上。