【2022/09/08 追記】
2022年度版の記事書きました!こちらもご参考に。
【2022年度版第5弾】新しい Mac を手に入れたらやること一式【パッケージ管理 – Homebrew 編】
ターミナルからのアプリケーションのインストール
さて、延々新しい Mac の設定のブログ記事が続いていて一向に新しい Mac を使えていないのだが、これ、いつ終わりますかね…。
前の記事では主に Homebrew を使って Mac にコマンドのパッケージなどをインストールしていったのだが、この記事ではその続きとして、 Homebrew と Homebrew-cask を使ってアプリケーションをインストールしていく。
新しい開発環境を用意するのもラクじゃないよね…。
全然関係ないんだけど、こんな感じでずっと新旧両方の Mac をほぼ毎日触っているが、個人的には新型のパンタグラフキーボードより旧型のシザーキーボードのタッチのほうが好みかな…。打音がパタパタうるさいし、繰り返し壊れるのにはほとほと閉口したけど(笑
ターミナルからのインストール [Homebrew cask 編]
Homebrew をインストールしたらこれは絶対にインストールしなきゃいけないというのが『Homebrew-cask だった』。「だった」というのは、以前は Homebrew をインストールしたら真っ先に Homebrew-cask をインストールしていたのだが、どうやらいまは最初からサブコマンドとしてインストールされているらしい。
いろいろ便利になってるのね…。
Mac 本体の環境は一度設定してしまうとあまり大幅に更新することがなくて(あれ、僕だけ…?)、新しい Mac に乗り換えるときか OS がアップデートされてクリーンインストールするときに見直すくらい。ちょっと放置していると環境構築でのアプリケーションも進化していて時代遅れ感が…。
サブコマンドとして入力できるなら、早速コマンドを入力してみる。
$ brew cask
「サブコマンドが指定されてないよ( No subcommand given.
)」って怒られた…(スクショを撮りそこねた)。が、「マニュアル見てね( See alse "man brew-cask"
)」と出てくるから使えるのは間違いない。
というか、今回調べてわかったのだが Homebrew 関連は僕が知っていたころの情報よりもかなりいろいろな部分でアップデート(=変更)されていた。もしここの記述で間違ったものがあればお知らせいただければ幸いだ。
前の記事で『普段の Homebrew のメンテナンスには $ brew upgrade
でパッケージの更新ができる』と書いたが、 Homebrew-cask も同様。
#アプリケーションのアップデートの確認
$ brew cask outdated
#アプリケーションのアップデート
$ brew cask upgrade
これで一括してアップデートできる。
【2021/03/26 追記】
ちょっと放置してたけど、情報のアップデートを。
記事執筆時点では cask
をサブコマンドとして入力したが、最新の状態では
#アプリケーションのアップデートの確認
$ brew outdated --cask
#アプリケーションのアップデート
$ brew upgrade --cask
のように brew
コマンドのオプションとして入力するように変更されている。
なので、例えば
$ brew cask
と入力すると
Error: Unknown command: cask
と怒られる(笑
そしてさらに、Homebrew-cask でアプリケーションをアップデートするとき
$ brew outdated --cask
$ brew upgrade --cask
だとアップデートされないアプリケーションがあって、どういうことかと思ったら
ソフトウェア自体でアップデート機能を持つものは、ソフトウェア自体に任せるスタンス
brew cask でインストールされているアプリを全てアップデートする
ということらしい。そこで、Homebrew-cask 経由でインストールしたアプリケーションの一切合切を一度にアップデートするコマンドがこちら。
$ brew upgrade --cask --greedy
アプリケーションごとにアップデートの通知が来たらアップデートするのはそれなりに面倒なので、これで一括アップデートできたほうが僕個人としては便利。ただし、週1ペースで定期的に ↑ のコマンド打つとか、運用でカバーする必要はありそう。
そしてさらに補足するなら、Homebrew や Homebrew-cask 経由でインストールしたアプリケーションのアップデート後には
$ brew cleanup
で不要な古いファイルは削除しておこう。
ご参考までに。
じゃあこれは OK 、早速次へ!!
ターミナルからのインストール [iTerm2 編]
先ほど書いた『以前は Homebrew をインストールしたら真っ先に Homebrew-cask をインストールしていた』というのには大きな理由があって、この記事やこの記事で「Mac でアプリケーションを管理するのにとても便利」と前述したように、 Homebrew-cask がインストールされていると『ターミナルからアプリケーションがインストールできる』のだ。
インストールだけではなく、アンインストールやアップデートも Homebrew-cask から管理できる。ちょうど先日 @wokamoto さんが更新してくれた記事の中に書かれている
$ brew bundle dump
を使えば、これまで使っていた Mac にインストールして(かつ Homebrew や Homebrew-cask で管理して)いたアプリケーションを一括して新しい環境の Mac へ再度インストールできる…!!最高かよ!!!
では早速アプリケーションの移行を…と行きたいところだが、今回は地道に Homebrew-cask の brew cask
コマンドから入力していく(なんでや笑
これまで Homebrew-cask で管理していなかったアプリケーションもこれを機会に Homebrew-cask で管理するようにしたいのがその理由。そもそもこれまではアプリケーションをあまり Homebrew-cask からインストールしていなかった…。Homebrew-cask からインストールできるアプリケーションの一覧はここで確認できる。このページの一番左の列に記述してある名前でアプリケーションを呼び出せる、というわけだ。
それはさておき、まずインストールするのは「iTerm2」。
「 iTerm2 」はターミナルの操作ができる「 Terminal.app 」の上位互換とも言える、高機能なアプリケーション。Terminal.app ではできない細かい設定ができるので、「黒い画面」を頻繁に使うのであればこちらがお勧めだ。全然関係ないけれど、この画面を改めて見て、初めて iTerm2 が GPL だということに気づいた。
では早速「 iTerm2 」を Homebrew-cask からインストールしよう。
インストールのコマンドは Homebrew が
$ brew install *****
だったのに対して、Homebrew-cask の時は
$ brew cask install *****
【2021/03/26 追記】cask
がオプション扱いになったので、このコマンドも
brew install --cask *****
となる。
となる。なので、iTerm2 をインストールするなら
$ brew cask install iterm2
【2021/03/26 追記】
こちらのコマンドも
brew install --cask iterm2
となる。
だ。 return
でインストールが始まる。
「 iTerm2 」のインストールが完了したら「 Terminal.app 」は終了して「 iTerm2 」を立ち上げよう。
最初の見た目は Terminal.app と何ら変わらない。Mac のターミナルが白かった人は黒くなるくらい(笑)。「 iTerm2 」がインストールできたらその初期設定を…と行きたいところなのだが、「 iTerm2 」は高機能なだけあって設定項目も非常に多い。「 iTerm2 」の設定だけで更に一記事書けるくらいの内容になってしまう(笑
なので、ここでは本当に最低限の設定だけ。
この設定にして iTerm2 を再起動した画面がこちら。
一連の初期設定記事が書き終わって、まだ気力があったら「 iTerm2 」の設定の記事でも書きましょうかね…。
ターミナルからのインストール [Quicklook 編]
ここからは補足的な内容になるが、いずれも「あったら便利!」なアプリケーションなので、インストール(またはアップデート)を検討してみていただきたい。
Mac のデフォルトの機能のひとつに「Quicklook」がある。ファイルを選択した状態で space
バーを押下するとそのファイルがプレビューできる機能で、手軽にファイルをプレビューできるのでとても便利。
ところで、この「Quicklook」を更に便利に使えるようにできるプラグインが複数存在する。これをターミナル( iTerm2 )経由で Homebrew-cask から一括でインストールしよう。コマンドは以下のとおり。
$ brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlprettypatch quicklook-csv qlimagesize webpquicklook suspicious-package
このコマンドでプラグインをまとめてインストールできる。
【2021/03/26 追記】
こちらのコマンドも
brew install --cask qlcolorcode qlstephen qlmarkdown quicklook-json qlprettypatch quicklook-csv qlimagesize webpquicklook suspicious-package
簡単にインストールするプラグインを説明すると、
qlcolorcode
:ソースファイルをシンタックスハイライトして表示qlstephen
:プレーンテキストファイルを拡張子なしで表示qlmarkdown
:マークダウンファイルを整形して表示quicklook-json
:JSON ファイルを整形して表示qlprettypatch
:パッチファイルを表示quicklook-csv
:CSV ファイルを整形して表示qlimagesize
:画像を表示するときにタイトルバーに画像サイズを表示webpquicklook
:.webp 画像を表示suspicious-package
:インストーラーパッケージを展開できるユーティリティ(Quicklook 以外でも使う)
このコマンドひとつ(まとめて一括で入力しているだけだが)で Quicklook の機能が劇的に上がるので、これは是非最初にやっておきたい。本当ならデフォルトの状態でこれくらいの機能があっていいくらいだ。こうしておくと、ちょっとした確認は全部 Quicklook で済ますことができる。実際、僕はかなり頻繁に Quicklook を使っている。
このインストールが済んだらもう一つ、
$ defaults write com.apple.finder QLEnableTextSelection -bool true
と入力して Quicklook 上でテキストを選択できるようにしよう。
これもコマンドを入力して return
キーを押下するだけだ。
ターミナルから最新版のアプリケーションのインストール
Mac には最初からインストールされているアプリケーション(あるいはプログラム)が多数ある。そのおかげで入手してすぐにあれこれ始められるわけだが、このプリインストールされているアプリケーションは、少々古いバージョンであることがままある。
Mac を開発環境として利用する場合、古いバージョンのままだと新しい機能が実装されていなかったり、実際に稼働させる環境との差異が発生したり検証ができなかったりすることもあるし、場合によっては古いバージョンのアプリケーションにはセキュリティ上の脆弱性が残っている場合もあるかもしれない。
これを解消するには、プリインストールされているアプリケーションの最新版を別途インストールして、そちらを使うようにする必要がある。このときにも、ターミナルから手軽にインストールできる Homebrew が大活躍する。
ターミナルからのインストール [nano 編]
Mac のターミナル(これ以降の説明はすべて iTerm2 が前提だが)操作をする際、ターミナルからのファイル編集は Vim(Vi) になるだろう。
ただ、えせエンジニアとしては Vim の操作は慣れが必要でちょっと敷居が高い。とはいえ慣れてしまったのでどうにか最低限の操作をすることはできるのだが。
ここで、Mac には別のエディタがデフォルトで搭載されているのをご存知だろうか?
【お断り】
ここで宗教上のエディタの選択には関わらないので悪しからずご了承ください。
デフォルトで搭載されていてターミナル上で利用できるエディタの中で、最も敷居が低いと思われるのが nano だ。やはり最初から Mac にインストールされている Emacs や Vim と比べると機能は少ないかもしれないが、もう少し直感的に操作できるところがありがたい点だと思う。そこで、nano を使う事前の準備として最新版にしておこう。
nano も Homebrew からインストールできる。コマンドは
$ brew install nano
となる。
あら、ここでインストールの経過を見ていると、
If you need to have ncurses first in your PATH run:
echo 'export PATH="/usr/local/opt/ncurses/bin:$PATH"' >> ~/.zshrc
と出力されていて、「こっちの PATH を先に読ませたいなら以下を実行して」とある。なので、このコマンドを実行する。
ここで iTerm2 を再起動(一度ウィンドウを閉じて再度開けばいい)して Homebrew をチェックするコマンド $ brew doctor
を実行してみる。
Warning: Homebrew's sbin was not found in your PATH but you have installed
ここでも PATH が通っていないと怒られたので、書いてあるとおり
$ echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc
をコピペで入力する。
retuen
キーを押下したら、設定の変更を読み込ませるために続いて
$ source ~/.zshrc
と入力する。
これで設定は反映されているはず。念のため iTerm2 を再起動し、改めて nano のバージョンを確認してみると
最初は 2.0.6
だった nano のバージョンが最新版の 4.9.3
に切り替わったことがわかる。
ターミナルからのインストール [git 編]
まだあるのかよ…ありますよ!(笑
続いては「 Git 」。Git もやはり最初から Mac にインストールされている。だが、先ほどの nano と同様に最初にインストールされている Git はバージョンが古いのだ。これも最新の Git をインストールしよう。
コマンドはこれまでと同様で Homebrew からインストールする。
$ brew install git
【追記】
迂闊にも最初の git のバージョンを表示せずに最新版のインストールを始めてしまったが、MacOS Catalina 10.15.4 でプリインストールされている git のバージョンは 2.21.0 (Apple Git-122)
になる。
インストールが完了したらバージョンを確認してみる。
この場合、既に PATH が通っているのでそのまま新しくインストールしたバージョンが認識された。
Git を新たに利用する場合、デフォルトのユーザーを登録しよう。ユーザー名は
$ git config --global user.name "{{user}}"
メールアドレスは
$ git config --global user.email {{email}}
と入力する。
もうひとつ、改行コードの変換設定を指定しておく。
$ git config --global core.autocrlf input
この一連の Git の設定(config)については、既に Git を使い始めていれば設定済みなはず。この設定は
#Mac 全体での Git の設定一覧
$ git config --global -l
#コマンドを入力したディレクトリでの Git の設定一覧
$ git config -l
と入力すれば確認できる。
ターミナルからのインストール [git-ftp 編]
ここで更に Git 関連でインストールしておくと便利なものをひとつ追加する。それは「 Git-ftp 」。
ローカルでは Git を使って開発しているが、ファイルをアップロードすべきサーバー側に Git がインストールされておらず、ファイルを FTP 経由でアップロードしなければならないような場合はあったりしないだろうか?「 Git-ftp 」は、最後にアップロードしたあとに変更されたファイルとの差分のファイルだけをアップロードしてくれるスグレモノだ。
公式サイトで Mac のインストールの項目を見ると
$ brew install git
$ brew install brotli
$ brew install git-ftp
とある。Git は既にインストール済みなので、そのあとの brotli
からインストールする。
続いて Git-ftp 本体をインストールする。
これでひと安心。
ターミナルからの設定 [gitignore 編]
せっかく Git の用意ができたので、最初の設定だけこのままやってしまおう。
Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。
Git – Wikipedia
「変更履歴を記録・追跡する」のが Git だが、なかには『変更履歴を記録・追跡したくない(する必要がない)』ファイルもある。そういったファイルを最初から Git での管理から除外する設定を記述するファイルが『.gitignore』だ。
通常はそれぞれのプロジェクトごとに不要なファイルは変わってくるので、Git 管理するプロジェクトごとに .gitignore ファイルを設定するのだが、「どんなときでもこのファイルは Git 管理したくない」というファイルもある。例えば「.DS_Store(Mac のフォルダの表示設定やフォルダアイコン情報を保存しているファイル)」とか。
こういったファイルは最初から Git の設定から除外してしまおう。全部の設定で無視するには .gitignore_global というファイルを作って Git 側に登録すればいい。そうしておけば、毎度まいど .gitignore ファイルに書かずに済む、というわけだ。この操作をターミナル( iTerm2 )からしていこう。
まず、さきほどやった Git の設定同様
$ git config --global core.excludesfile ~/.gitignore_global
と入力して『.gitignore_global というファイルを使う』ことを設定(config)ファイルに書き込む。
これがちゃんと反映されているか確認するには、先ほど説明した
$ git config -l
を使えばいい。
ただし、いまこの状態だとただ設定しただけで .gitignore_global ファイルがない。なので次にこのファイルを用意する。
さてここで、「どんなときでも Git 管理したくないファイル」はどう判断すればいいだろうか…?そこはもう Web という名の集合知を使おう(笑
Git のリモートリポジトリ管理といえばここと言ってしまっていいだろうというサービス GitHub に、各言語やプログラムに向けた gitignore ファイルだけを集めたリポジトリが公開されている。その中に、まさに「Global」という全体の設定ファイルだけを集めたディレクトリがある。
その中に「macOS.gitignore」というそのものズバリの .gitignore ファイルがあるので、それを使わせてもらおう。
これをダウンロードして Finder でリネームするか、あるいはまず内容をコピーして、新たに作った .gitignore_global ファイルにペーストして保存すれば終わりなのだが、せっかくなので全部ターミナルで済ませてみよう。
まず、前回の記事でインストールした wget コマンドを使う。そのコマンドはこちら。
$ wget https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
読み込む URL は「macOS.gitignore」のページそのもの。
ちなみに、wget コマンドは自分がいる場所(=コマンドを入力した階層・場所)にファイルをダウンロードしてくるので、もし別の場所からコマンドを入力した場合はダウンロード後にファイルを移動する必要がある。
このコマンドを入力したら、ちゃんと自分の想定どおりにファイルがダウンロードされたか確認してみる。
ディレクトリの情報(ファイルもだが)を表示するのは ls コマンド。$ ls -la
と入力すると、隠しファイルも含めて容量とかタイムスタンプなどが表示される。
これを見ると一番下の行に「macOS.gitignore」ファイルがあるのがわかるので、間違いなく想定の階層に「macOS.gitignore」ファイルがダウンロードされた。ただ、これで終わりではない。ファイル名をリネームしないと…。
ファイル名を変更するのは mv コマンド。本来は「move(移動)」のコマンドだが、『名前を変えて同じ場所に移動する』のがリネームだと考えれば確かにやってることは一緒だ。
先ほど決めたファイル名は『.gitignore_global』だったので、これに変える。このときのコマンドは
$ mv macOS.gitignore .gitignore_global
となる。意味するところは『「macOS.gitignore」を「.gitignore_global」に移動する』だ。なるほど…!
これを入力したら再度 $ ls -la
でディレクトリの中身を確認しよう。
これで「macOS.gitignore」が「.gitignore_global」に移動された(=リネームされた)のがわかる。
余談だが、gitignore のリポジトリには今回の「Global」含めありとあらゆる .gitignore ファイルが公開されているので、自分がよく使うツールや言語などで調べておくといいだろう。ここのリポジトリを使って、任意に選んだプログラムすべての除外するファイルをひとつの .gitignore ファイルにまとめて出力してくれる Web サービスまである。ひゃー便利♪
ターミナルからのインストール [アプリケーション 編]
繰り返しになってしまうが、この記事やこの記事でも解説したように、Homebrew-cask がインストールされているとターミナル経由で直接アプリケーションがインストールできる。そこでも触れているが、Homebrew-cask からインストールできるアプリケーションはできるだけ Homebrew-cask からインストールしておいたほうが管理がしやすい。
ということで、いよいよアプリケーション一式のインストール。
iTerm2 の項でも書いたように、Homebrew-cask からインストールできるアプリケーションの一覧はここで確認できる。
例えば、こちらの記事でピックアップしたアプリケーションを一気にインストールしようと思ったら以下のようなコマンドになる。
$ brew cask install 1password adobe-creative-cloud alfred appcleaner bettertouchtool chatwork discord dropbox imageoptim joplin karabiner-elements keycastr keyboard-maestro keyboardcleantool licecap macdown mousepose notion scrutiny sequel-pro sketch slack sourcetree station subethaedit sublime-text transmit virtualbox visual-studio-code krisp zoomus
長いよ…(笑
スペース区切りでアプリケーション名を羅列していけば一気にインストールできるのも魅力のひとつ。
【2021/03/26 追記】
同様に、こちらのコマンドも
brew install --cask 1password adobe-creative-cloud alfred appcleaner bettertouchtool chatwork discord dropbox imageoptim joplin karabiner-elements keycastr keyboard-maestro keyboardcleantool licecap macdown mousepose notion scrutiny sequel-pro sketch slack sourcetree station subethaedit sublime-text transmit virtualbox visual-studio-code krisp zoom
となる。
ちなみに zoomus
は zoom
に変更になっている。
それぞれのウェブサイトからダウンロードしてもいいのだが、リンクをクリックしてページが開いたらダウンロードリンクを探して、見つかったらダウンロードページが開くまで待って…というのを延々繰り返すのは面倒
【2020年度版第2弾】新しい Mac を手に入れたらやること一式【アプリケーション編】
もうまさにこれ。これが解消できるだけでも導入する価値があるのでは?
ともあれ、早くインストールしよう。ただでさえ進捗ダメなんだから(笑
とりあえず以前の記事の内容を少しアップデートした上で『無料アプリ』『有料アプリ』に分けてみた。
まずは無料アプリをインストール。
$ brew cask install alfred appcleaner background-music biscuit chatwork chrome-devtools chrome-remote-desktop-host discord docker dropbox figma firefox gas-mask google-chrome google-japanese-ime handbrake imageoptim joplin karabiner-elements keyboardcleantool keycastr krisp licecap macdown microsoft-teams mousepose ngrok notion sequel-pro slack sourcetree station subethaedit sublime-text toggl vagrant vagrant-manager virtualbox visual-studio-code vivaldi zoomus
【2021/03/26 追記】
こちらも同様に
brew install --cask alfred appcleaner background-music biscuit chatwork chrome-devtools chrome-remote-desktop-host discord docker dropbox figma firefox gas-mask google-chrome google-japanese-ime handbrake imageoptim joplin karabiner-elements keyboardcleantool keycastr krisp licecap macdown microsoft-teams mousepose ngrok notion sequel-pro slack sourcetree station subethaedit sublime-text toggl vagrant vagrant-manager virtualbox visual-studio-code vivaldi zoom
以前リストアップしたものから増えたところだけ。
background-music
:アプリケーションごとに音量を変えられるbiscuit
:ブラウザチックなアプリケーションランチャchrome-remote-desktop-host
:Chrome のリモートデスクトップアプリdocker
:docker のデスクトップアプリfigma
:デザインツール figma のデスクトップアプリfirefox
:ブラウザgas-mask
;HOSTS 情報の設定書き換えアプリgoogle-chrome
:Chrome ブラウザ(Homebrew-cask で管理するためいったんアンインストール済み)google-japanese-ime
:Google 日本語入力(Homebrew-cask で管理するためいったんアンインストール済み)handbrake
:動画圧縮krisp
:この記事が詳しい←ngrok
:ローカルで立てた Web サーバを外部公開できるtoggl
:タスクの時間管理アプリvagrant
:仮想マシン構築ツールvagrant-manager
:Vagrant をメニューバーから操作できるvivaldi
:ブラウザ
おいおい、だいぶ増えたな、最初よりよっぽど長いコマンド(笑
今回は Homebrew-cask で管理したいがために Chrome と Google 日本語入力をわざわざ一度アンインストールしたが、これはこちらの記事で先にインストールしているからで、当然のことながら通常はそんなことをする必要はない。普通にインストールしてそのまま使うか、最初から Homebrew-cask からインストールすればいいだけだ。
それと、先に Homebrew-cask からインストール済みなので、もちろん iTerm2 だけはここに含めていない。
あとは return
してしばらく待っているだけでいい。
実は途中 virtualbox
のインストールで失敗して止まってしまったのだが、もう一度それ以降のアプリケーションを指定してコマンドを入力して完了。ちょうど上の画像の最上部で vertualbox
以降のコマンドを入力している。
一方、有料アプリはこちら。
$ brew cask install 1password bettertouchtool keyboard-maestro scrutiny sketch
【2021/03/26 追記】
こちらも同じ。
brew install --cask 1password bettertouchtool keyboard-maestro scrutiny sketch
こちらの内容は以前と変わらない。先ほどと比べれば全然短いのであっという間に終わる。
黒い画面便利!
「黒い画面が』というかこの場合『Homebrew と Homebrew-cask が』なんだけど(笑
もちろん、これはターミナルを使った極々一部の操作でしかなくて、本来の使い方としては root 権限になって特別な操作をしたり SSH でサーバーに接続したりすることになる。ただ、こうしてターミナルを積極的に操作していれば「あれ、意外と簡単…」となって敷居が少しは下がるのではないだろうか。
実際のところ、そもそもここでの説明は本当にコピペしかしていない(笑)。GUI だったら手間と思えるようなこともターミナルから直接操作できれば速くて確実だ。ただ、その分「途中のワンクッション」がなかったりするので、例えば一旦削除したら復元できないなんてこともあるので取り扱いには注意を。
ちなみに、今回は全く触れずに進んでしまったが
$ brew install mas
として mas-cli
をインストールすると、Mac App Storeにあるアプリケーションも Homebrew から管理できるようになる。もうなんでもターミナルから操作できる感半端ないな…。万能っすな。このあたりを含めてこちらの記事が詳しい。
でですね、黒い画面から設定したいことはまだまだあるので、更に次回へ続くんですよ…( ꒪⌓꒪)