【2020年度版第4弾】新しい Mac を手に入れたらやること一式【ターミナル編・主に Homebrew の巻】

初期設定とアプリケーションの紹介しているだけで記事が3つになってしまったので、いよいよ(ようやく)ここからは環境設定に進めていく。
とはいえ「初期設定」は自分の Mac を自分が使いやすくするために重要なポイントで、これをするとしないとでは作業効率が全然違ってくると思う。

「Web 制作の仕事はパソコン一つあればいい」と言われる(確かにそういう部分も実際ある)が、実際に作業をするとなると実はその準備が結構大変だ。一般的な利用ならば「あとは Office 365 を契約しないと!」あたりでだいたい環境の準備は終わりになると思うのだが、『Web 制作の環境を用意する』にはまだまだ事前準備が結構必要になる。「手に入れたらやること一式」とか、まだまだ先が見えてない気がする(笑

以前から使っている Mac があったら

まっさらの Mac の環境を用意するとき、もしこれまでも使っている Mac があったらそのデータはなるべく引き継ぎたいだろう。
とはいえ、僕は新しい Mac の環境を用意する時は必ずイチからやっている。いわゆる「クリーンインストール」だ。作業としては Time Machine ですべての環境を引き継ぐのが早いとしても、そこで一緒にゴミまで移してしまうのは嫌だ。このジレンマが毎回クリーンインストールしている理由だ。

これまで使っていた Mac のデータを引き継ぐ場合、同じアプリケーションを使うならその設定を引き継げばいいだろう。Web アプリケーションならばログインすることで設定が引き継げることが多いだろうし、インストール型のアプリケーションならば設定のエクスポート・インポートができる場合がほとんどだと思う。

ただ、「Mac 本体の設定」を引き継ぎたいとなるとちょっと状況が違う。Mac 本体の設定のエクスポートのメニューが用意されていないからだ。
ここでは最低限(僕の環境移行で)必要なデータの移行だけ先にしておくことにする。データの移行はとにかく AirDrop が便利。

フォントデータの移行

例えば Adobe のアプリケーションで Adobe Fonts 経由でフォントを使っていた場合、フォントの管理は Adobe 側でされているのでアカウントが一緒ならばそのまま移行できると思うが、独自にダウンロードしてインストールしているものについては別途自分で管理しなくてはいけない。
直接 Mac に追加したフォントは

/Users/{{user}}/Library/Fonts/

にインストールされている(ここの {{user}} は自分のユーザーアカウント)。この中に入っているフォントを全選択し、AirDrop で新しい Mac に移動して該当する Fonts フォルダへ移動するだけ。
このとき、有料で配布されているフォントが含まれている場合は別途アクティベーションが必要になるかもしれないので注意(僕は無料で配布されているフォントだけだった)。

SSH 接続情報の移行

同様に SSH の接続情報も移行する。こちらは重要なセキュリティ情報を含むので取り扱いは慎重に。
SSH の接続情報は基本的に

/Users/{{user}}/.ssh

に配置されているはずなので、同様に全選択して AirDrop で新しい Mac に移動する。
新しい Mac にはまだ .ssh フォルダはないと思うので、ユーザーディレクトリ直下に先に作っておき、そこへペーストする。

keychain のログイン項目の移行

これも引き継いでおきたい情報のひとつだが、これは一工夫が必要。
keychain の情報は以下のファイルに記述してある。

/Users/{{user}}/Library/Keychains/login.keychain-db

手順についてはこちらのブログ記事が詳しいので参考にされたい(完全に人任せである

黒い画面

つい先日、僕がスタッフで参加している WPZoomUP で『#42 「こんなこともできるWP-CLI 〜0から触ってみよう〜」』が開催された。とても充実した内容だったので、動画当日のスライドを是非ご覧になっていただきたい。

【追記】
レポート記事も公開されたのでこちらもどうぞ。

そのなかで重要な役割として使われていた『ターミナル(黒い画面)』。いよいよこれを使ってあれこれ設定をしていく。
いわゆる「黒い画面」だが、Mac のデフォルトの状態では白い(笑)。だがこれも環境に左右されるようで、『ダークモード』にしていると最初から黒い。

いわゆる「黒い画面」を開いたところ。コマンドを入力して操作していく。

ターミナルからのインストール

ターミナル起動直後

いろいろなところで言われていることだが、Mac の OS X 10.15 Catalina からデフォルトのシェルが bash から zsh になった。僕は違いがよくわかっていない(笑)ので、そのあたりも探りながらになると思われる。こちらの記事とかこちらの記事を参考にしながら触ることになりそうだ。

ということで、ようやく「開発」環境の設定までたどりついた(笑
ここからはいわゆる Web 制作のための開発環境を準備していくことになる。ただし、『Web 制作のため』と一言でいってもそれぞれの職務や会社によってこのあたりは大きく変わってくると思うので、ここからは「一例」としてご覧いただけると嬉しい。

ターミナルからのインストール [Command Line Tools for Xcode編]

何はなくともまずは真っ先に「Command Line Tools for Xcode」をインストールしておきたい。

ここで、コマンドの入力を示す際にアタマに「$」があるが、これはそのときのユーザー権限を示す「コマンドプロンプト」のこと。画面キャプチャ上では「% 」となっているが、これは bash と zsh でコマンドプロンプトが違っているから。『このマークが出ている時はコマンド入力待ちの状態』だ。例えばこれが「 # 」になってたら root 権限を持ったユーザーでログインしている、とか。
こういった「コマンドの入力を解説する」ような場合「$」を使うのが一般的なようなので、ここではこのあとも「$」で統一して表記する。

「Command Line Tools for Xcode」がインストールされているかの確認のために、次のコマンドを入力する。
以前はこの段階でまず「Command Line Tools for Xcode」をインストールしていたのだが、最近は XCode をインストールしていれば一緒にインストールされているらしい( XCodeこちらの記事でインストール済み)。

$ gcc
「Command Line Tools for Xcode」のインストールの確認のため、コマンド「gcc」を入力して「return」キーを入力する

このコマンドを入力して return キーを押下すると、キャプチャのように

You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.

Hit the return key to view the license agreements at 'Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

というテキストが表示される。なので書いているとおりreturn キーを押下してみる。

「return」キーの入力で利用許諾のテキストが表示される

するとターミナルの画面上にぶわーっとテキストが表示される。そこに

Software License Agreements Press 'space' for more, or 'q' to quit

と書いてあるので、とりあえず space を連打してみる。

利用許諾の文章を一番下までスクロールしてみる

space キーを連打するとスクロールするので、そのまま一番下までスクロールしてみると

Agreeing to the Xcode/iOS license requires admin privileges, please run "sudo xcodebuild -license" and then retry this command.

と書いてあるので

$ sudo xcodebuild -license

と入力。

and then retry this command.

とあるのでもう一度…。

$ gcc

再度 You have not agreed 〜 というテキストが表示されるので先ほどと全く同じように進めていくと、最後に表示される内容が変わっている。

ソフトウェアライセンス契約の条件の同意を促す文言が表示される。
By typing 'agree' you re agreeing to the terms of the software license agreements.

とあるので、 agree とタイプして return

これで完了。

えーと、この2回繰り返すのって必要…?もしかして、最初から

$ sudo xcodebuild -license

って入力すればよかったのかな?詳しい方ヘルプ!(笑

【追記】
ちょっとチェックしてもらったら早速返事が。

yes!!

@Shizumi0705

やっぱりそうだったのか(笑)、ありがとうございます!!

なにはともあれ、「Command Line Tools for Xcode」のインストールが完了した。インストールを確認してみる

エラー(´・ω・`)

あれ?エラー吐いた。あ、そうかインストールの確認だから gcc じゃなくて gcc --version と入力しなきゃだ。

Command Line Tools for Xcode のインストールの確認

はい、これで無事「Command Line Tools for Xcode」のインストールの確認ができた。

ターミナルからのインストール [Homebrew 編]

ようやく開発環境の話っぽくなってきた(笑
Mac に Web の開発環境を作るとなったら、なくてはならないのが Homebrew だ。「開発環境」と言ってはいるが、これは別に開発環境に限った話ではなく、Mac でアプリケーションを管理するのにとても便利。Homebrew はいわゆる「パッケージ管理システム」のひとつだ。

「ホームブリュー」と読む人もいるが、「ホームブルー」のほうが正式な発音により近い。

Homebrew (パッケージ管理システム) – Wikipedia

知らなかった…(´・ω・`)

Homebrew トップページ画面

画面中央にでかでかと「インストール」とあって、そこに

これをmacOSのターミナルまたはLinuxのシェルプロンプトに貼り付けて下さい。

とあるので、そのままコピペする。ここのコマンドが記載されているブログ記事もよく見かけるが、Homebrew のアップデートによってインストールコマンドが変わっている可能性もあるので、必ず公式サイトにアクセスしてそこからコピーすることをおすすめしたい。

何も考えずにインストールのコマンドをコピー

コマンドをコピーしたらそのままターミナルへペーストする。

インストールのコマンドをそのままペースト

これで return するとパスワードの入力になる。

パスワード入力画面

ターミナルを初めて使うときに面食らうことのひとつに『パスワードが表示されない』ということがある。 ターミナル上の操作はすべて記録されているので、仮にパスワードの入力で「********」とか表示されるとその入力自体がログに残ってしまう。なのでターミナルでのパスワードの入力では『何も表示されない』ので注意(ていう説明で合ってる?
ここは焦らずに落ち着いて自分の Mac のパスワードを入力しよう。

パスワードを入力して return キーを押下すると Homebrew のインストールが始まる。

The Xcode Command Line Tools will be installed. の文字が

しばらく待っていると上記画像のところでいったん止まる。

The Xcode Command Line Tools will be installed.

と表示されるが、 Xcode Command Line Tools はさっきインストールしたよね…?てことは最初の『Xcode Command Line Tools のインストール』はしなくても良かったのかな…?その下には

Press RETURN to continue or any other key to abort

と表示されている。ここで中止はしないので(笑) return するとまたインストールが続く。
もしかして既にXcode Command Line Tools がインストール済みのときはここで中止しちゃってよかったのかもしれない…。誰か正しい手順を教えて下さい←

こんな感じでインストールが進んでいく

この間はただ待っていればいい。

Downloading Command Line Tools for Xcode の文字が…

画面を見ていると

Downloading Command Line Tools for Xcode

と表示されて Homebrew 経由で Xcode Command Line Tools がダウンロードされている。やっぱりいらなかったぽいな…(´・ω・`)

インストールまで進んでいく

そのまま待っていると再びコマンドプロンプトが表示されてインストールが完了したことがわかる。

Homebrew のインストールが完了した。

インストールが完了したらインストールのチェックをしておこう。

コマンド brew doctor を入力

Homebrew のインストールを確認するには

$ brew doctor

と入力する。このコマンドは Homebrew のインストールの確認だけでなく、Homebrew にある問題をチェックするコマンドだ。
Homebrew 経由でインストールしたパッケージにアップデートがあったり、環境自体が古くなってしまっているのを確認するときにはいつでもまずこのコマンド

$ brew doctor

を入力すればいい。ここでなにかしら Warning が出たらそれを解決していく。最終的に Warning が解消できればいい、ということだ。

Your system is ready to brew. の表示

問題が何もなければ

Your system is ready to brew.

と表示される。いまはインストールしたばかりなのでもちろんOK。
少し以前の記事になるが、 Warning の解決方法についてはこちらの記事が詳しい

また、普段の Homebrew のメンテナンスには

$ brew upgrade

のコマンドでパッケージの更新ができる。以前はHomebrew自体のアップデートや古くなったパッケージの削除などが別のコマンドとして用意されていたが、現在は古いパッケージも一定期間経ったものは自動で削除されるようだ。
知らないうちにどんどん便利さが増している(笑

ターミナルからのインストール [wget 編]

いよいよアプリケーションのインストールの準備ができたところだがちょっとその前に。
Web 制作になくてはならないコマンドもインストールしておきたい。それは「wget」コマンド。

GNU Wget(あるいは単に Wget)はウェブサーバからコンテンツを取得するダウンローダであり、GNUプロジェクトの一部である。その名称はワールド・ワイド・ウェブ(WWW)とプログラムの主要な機能であるデータ取得を意味する英語の「getゲット」から派生したものである。

GNU Wget – Wikipedia

なるほどわからん(笑
簡単に説明すると、ファイルの URL を指定して直接コマンドからダウンロードできる、というもの。「wget コマンドなんて使わない…」という人は読み飛ばしていただいて大丈夫。

Homebrew を使って wget をインストール

ここで早速 Homebrew を使ってインストールする。その時のコマンドは

$ brew instal *****

となるので、wget をインストールするなら

$ brew install wget

とすればいい。コマンドを入力して return すれば

wget がインストールできた。インストールのときにビールのアイコンが…!!

これでOK。もう Homebrew があれば楽ちん。ちなみに、Homebrew でインストールするコマンド、パッケージは Homebrew では「フォーミュラ」と呼ぶ。
一応インストールの確認を。

wget: URLがありません

「URL がありません」と表示されてしまったが、「wget」コマンドがインストールされていない場合は「 command not found 」と表示されるのでまずはこれでいい。

【注意】
ここでそのまま先に進んでいるが、もし openssl@1.1 を使う必要があるなら、ターミナルから

$ echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
$ source ~/.zshrc

の入力が必要。

ターミナルからのインストール [tree 編]

もうひとつ、「tree」コマンドもインストールしておきたい。これも「あれば便利だが使わない」ということであればスキップしていただいて問題ない。

「tree」は、ディレクトリやファイルをツリー状に表示するコマンドです。lsコマンドと同様に、パーミッションなどのファイルの属性も表示できます。

【 tree 】コマンド――ディレクトリをツリー状に表示する:Linux基本コマンドTips(179) – @IT

このコマンドがあると、そのディレクトリ内の構造をツリー状に表示してくれる。自分の確認にも使えるし、ディレクトリ構造を共有したいときなんかにコピペして使えて便利。
これも早速インストールする。

「tree」コマンドのインストール

さきほどの「wget」コマンドと同様に

$ brew install tree

でOK。 return するとインストールされる。

「tree」コマンドがインストールできた。

これだけ。簡単!!「黒い画面怖い」とよく言われるし、僕もよく使うようになるまでは不安だったが、使い慣れるとこれも手軽(そもそもほとんどコピペで済ませている)だし、なによりターミナルだけで済ませられるのがいい。 Homebrew 最高じゃないですか…!
これも「tree」コマンドがインストールできたかどうか

$ tree

と入力してみる。

「tree」コマンドを入力したところ

このように、いま現在いる(=「tree」コマンドを入力した)場所からのディレクトリ構造が表示される。指示どおりに進んでいけば

ディレクトリ構造がすべて表示される

最後まで表示され、またコマンドプロンプトが表示されたら終わり。
ちなみに、Homebrew 経由でインストールできるコマンド(パッケージ)の一覧はこちら

他にも「このコマンドをインストールしないなんて…!」「こんな手順は違う!」とかあればぜひ教えて…!!

まだインストールしなきゃいけないものがたくさん…

『新しい Mac を手に入れたらやること一式【ターミナル編】』と題して書き始めたのはいいが、ターミナル経由でやりたいこと・やらなきゃいけないことが全然終わらないんですが…。まだ当分続きそう(笑)なので、ちょっとタイトルを変更して『新しい Mac を手に入れたらやること一式【ターミナル編・主に Homebrew の巻】』としてみた。

もうね、自分で書いていて終わりが見えてない。無計画に連載ぽいブログ記事を書き始めちゃいけないといういい例(笑
ほとんどスクショばかり貼り付けているせいもあって、ひと記事がめっちゃ長いし。

僕はただただ早く新しい環境のセットアップを終わらせて Mac を入れ替えたいんですが…(´・ω・`)