CommandLineToolsとXcode


この投稿では、CommandLineToolsとXcodeについてまとめます。
少しでも参考になったら幸いです。

CommandLineToolsとXcodeをなぜセットで紹介するのか

プログラミング歴が長い人や、環境構築がベテラン級の方にとっては、
セットで解説されることに違和感を感じるかもしれません。
しかし、Mac初心者の方やプログラミング言語諸学者の方にとっては、
混乱しやすい落とし穴が潜んでいるので、セットで紹介するに至りました。

それぞれの詳細を紹介するのは後にして、落とし穴から解説したいと思います。

CommandLineTools(CLT)の落とし穴

MacだとCLTのインストールは、コマンド一つで簡単にできます。
しかしこれがCLTの落とし穴なんです。そのコマンドがこちらです。

xcode-select --install

見てお分かりのとおり、xcodeという文字列が含まれていますが、
xcodeをインストールしているわけではなく、CLTをインストールしているんですね。

ちなみにxcodeって文字列が含まれているんですけど、xcodeがインストールされていなくてもこのコマンド使えるんですか?って思われた方もいると思います。
xcodeは入っていなくても、xcode-selectコマンドは、使えます。
Macに標準装備のコマンド群なんですね。

これでCLTとXcodeが何故ややこしいかご理解いただけたと思うので、それぞれのツールの役割の説明、
その他もろもろの解説に移ります。

CLTとは

CLTはその名の通り、Macで使えるコマンドラインツールです。
CLTをインストールしていないと元々Macに標準装備のコマンド以外が認識できず、
色々インストールしてもコマンドで操作しようとしても動かないといった事象が発生します。

具体例として、Macでよく使われるパッケージマネージャーのHomebrewでお伝えします。
「brew~」コマンドで操作しますが、CLTがないと「command not found: brew」と言われ、
操作ができないんです。

Xcodeとは

Xcodeとは、アプリ開発の一連の流れをサポートしてくれる、統合開発環境(IDE)です。
統合開発環境の例を他にも挙げてみると、Visual Studio・VSCode・Eclipseなどがあります。
触られたことがある方はこの例のツールと同じもの、と認識いただけれなわかりやすいと思います。

どれも触ったことがない!という方に向けて簡単にまとめると、プログラミングのコードが書けるだけでなく、そのプログラムを実行までできたりするリッチなテキストエディタ、とイメージしていただけると良いかなと思います。

ここまで理解いただけたると、結局最初の疑問に戻ると思います。
「じゃあXcodeとCLTの関係は?」と。次の章で、改めて解説します。

改めてXcodeとCLTの関係を考えてみる

言葉で伝えるとわかりづらくなると思うので、兎にも角にもまずは関係図をお見せしようと思います。

なんとびっくり、いわゆる包含関係なんですね。
それぞれの役割から考えると、全く関係なさそうなイメージを持たれる方もいるかもしれませんが、
統合開発環境なので、コマンドを色々使えた方が開発スムーズに進められるよね?ってイメージを持っていただけると、少しだけ包含関係無ことに納得してもらえるかと思います。

また、この二つはインストールの仕方が3種類あるので、次の章でお伝えします。

XcodeとCLTのインストール

インストールには以下の3種類があります。

  1. XcodeとCLTの両方をインストール
  2. Xcodeのみインストール
  3. CLTのみインストール

③は落とし穴で解説した通り、以下のコマンドでインストールできるので、説明は省き、
①、②をそれぞれ解説します。

xcode-select --install
①XcodeとCLTの両方をインストール

Xcodeのバージョンにより、異なるので、バージョン別でまとめます。

バージョンが6.1以降の場合

AppStoreからインストールする、以上です。

バージョンが6.0以前の場合

旧バージョンを好む方はいないかと思いますが、念のため手順をまとめます。

  1. Downloads for Apple DevelopersからXcodeをインストール
  2. Xcodeを起動し、Preferencesをクリック
  3. 「General」項目から「Downloads」を選択
  4. 「Components」項目をクリックし、「Command Line Tools」をインストール
②Xcodeのみインストール

果たしてこの需要があるのか問題は置いておいて、①の通り、バージョン6.0以前の場合は、Xcodeのみがインストールできます。
気になるのは、バージョン6.1以降でもXcodeのみがインストールできるかですね。
そのような方法は、ないと思われます。
ので、どうしてもCLTなしでXcodeをインストールしたいかたは①の通りの手順で、
6.0以前のXcodeをインストールしてください。