Macで「xcrun: error: invalid active developer path」エラーを修正する方法
MacでGitを使おうとしたとき、「xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)」というエラーに遭遇したことはありませんか?このエラーは、GitがAppleのXcodeコマンドラインツールに含まれる多数の依存関係に依存して動作しているために発生します。Xcodeツールが正しくインストールされていない(または認識されていない)場合、git pullやgit pushなどのコマンドを実行するたびにこのエラーが表示されてしまいます。
この記事では、このエラーの概要と発生理由を解説し、具体的な解決手順をわかりやすくご紹介します。
Gitとは?
Gitは世界で最も広く使われているバージョン管理システムです。ファイルへの変更履歴を記録するため、いつ何をしたのかがひと目でわかり、必要に応じて特定のバージョンに戻すこともできます。また、複数人の変更を1つのソースに統合できるため、チームでの共同作業もスムーズになります。
個人で書くコードでも、チーム開発でも、Gitはあらゆる場面で役立つツールです。
ワンポイント: Macの動作が遅いと感じたら、ジャンクファイルやパフォーマンス問題、有害なアプリ、セキュリティ上の脅威がないかスキャンしてみましょう。システムトラブルや動作低下の原因を事前に取り除けます。
GitはPC上で動作するソフトウェアで、ファイルとその履歴はローカルに保存されます。さらに、GitHubやBitbucketなどのオンラインホストにコピーを置けば、自分の変更をアップロードしたり他の人の変更をダウンロードしたりできるため、他の開発者との協力が格段に楽になります。Gitは変更を自動的にマージできるので、2人が同じファイルの異なる部分を同時に編集しても、互いの作業を失うことなく統合できます。
Gitはターミナルなどのコマンドラインから操作できるほか、SourcetreeのようなGUIデスクトップアプリからも利用可能です。
Xcode Command Line Toolsとは?
XcodeはMac向けの開発・デバッグ環境であり、macOSやiOSアプリケーションの開発に必要なファイル一式を提供します。Macでソフトウェアを開発するには、まずXcode Command Line Toolsをインストールする必要があります。
Appleはプログラマー向けに「Xcode」という総合開発環境を提供しています。macOS、iOS、tvOS、watchOS向けのソフトウェアを開発する場合は、完全版のXcodeアプリケーションが必要です。Xcodeはプリインストールされていませんが、Appleの開発者サイトやMac App Storeから入手できます。
一方、Appleデバイス向けの開発を行わないなら、40GB以上のディスク容量を消費する完全版Xcodeは不要です。その代わりに、より小さなパッケージである「Xcode Command Line Tools」をダウンロード・インストールしましょう。これはターミナル上で動作するコマンドラインツールをまとめた開発者向けパッケージです。
これらのツールはコンピューティングの黎明期からUnix系OSで使われてきたもので、ほぼすべてのソフトウェア開発の基盤となっています。幸い、Xcode Command Line Toolsパッケージのディスク使用量は約1.2GBと非常に軽量です。
MacにXcode Command Line Toolsをインストールする方法は主に3つあります:
- Xcode本体(完全版)をインストールする
- ターミナルからXcode Command Line Toolsをインストールする
- Homebrew経由でインストールする
Appleデバイス向けの開発をする予定がないなら、完全版Xcodeのインストールはおすすめしません。ダウンロードに時間がかかるうえ、ディスク容量も大量に消費します。後述の2つの方法のどちらかを試しましょう。
macOSはUnixベースであるため、長年の標準であるソフトウェア開発に最適なプラットフォームです。Xcode Command Line Toolsを導入しておけば、ほぼすべてのオープンソース開発ツールを追加するための確固たる土台になります。
「xcrun: error: invalid active developer path」エラーとは?
git pull、git push、git clone、git status、git branchなど、任意のgitコマンドを実行した際に、さまざまなバージョンのmacOSでこのエラーが報告されています。
また、pipやHomebrewなどの他のコマンドラインツールが動作しなくなり、「xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)」というメッセージが表示されるケースもあります。以前は正常に動いていたのに、macOSのシステムアップデート後に動かなくなることもあります。
エラーメッセージは通常、次のように表示されます:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
エラーの原因は?
多くの場合、このエラーはmacOSの更新・アップグレード後にターミナルでgitコマンドを実行しようとしたときに発生します。特にBig Surへアップデートした直後のMacで報告が集中しました。
エラーメッセージ自体が示す通り、/Library/Developer/CommandLineToolsにあるアクティブな開発者パスが無効になっていることを意味します。つまり、問題はGitそのものではなく、Command Line Tools側にあるのです。
Command Line Toolsがインストール済みで、以前は問題なく動いていた場合でも起こり得ます。macOSのアップグレード後にエラーが出た場合は、Command Line Toolsを再インストールすればパスの問題は解決するはずです。
Gitのxcrunエラーへの対処法
まず試したいのは、ターミナルウィンドウを閉じて再度開き直すことです。アプリを再起動してからコマンドをもう一度実行し、改善するか確認しましょう。一時的な不具合が原因なら、これだけで直ることがあります。
また、ターミナルにコマンド実行に十分な権限があるかも確認してください。アクセス権の問題を避けるため、通常のコンソールではなく管理者権限付きのターミナルを開くのも有効です。それでもダメなら、Macを再起動してから最初からやり直してみてください。Outbyte macAriesなどの最適化ツールでジャンクファイルや細かな問題を先に掃除しておくのも効果的です。
それでもエラーが解消しない場合は、以下の解決策を順番に試してください。
根本的な解決策はXcodeをインストールすることです。iOSアプリ開発に興味があるなら完全版をインストールすればこの問題も一緒に解決します。Apple開発者サイトからXcodeの.dmgファイルをダウンロードしてください。あまり頻繁に使わないなら、コマンドラインツール単体のパッケージ(.dmg)だけをダウンロードしてインストールしても構いません。
対処法1:Command Line Toolsをインストール/再インストールする
何もダウンロードせず、ターミナルで数個のコマンドを実行するだけで解決したい方にぴったりの方法です。
- ターミナルを起動します。他のターミナルアプリでも構いません。macOSの場合、ターミナルは「アプリケーション」フォルダ内の「ユーティリティ」フォルダにあります。Spotlightで検索してもOKです。
- 次のコマンドを入力してEnterキーを押し、コマンドラインツールをインストールします:
xcode-select --install - コマンドを実行すると、次の出力が表示されるはずです:
xcode-select: note: install requested for command line developer tools - ポップアップが表示されたら「インストール」ボタンをクリックします。
- ライセンス契約が表示されたら「同意する」ボタンをクリックします。
インストールが完了するまで中断せずにお待ちください。時間がかかることがあります。完了したらターミナルを再起動します。筆者の環境では再起動は不要でしたが、再起動しないと反映されないケースもあるようなので注意してください。
最後に、エラーが出たときのコマンドをもう一度入力し、エラーなしで実行できることを確認しましょう(筆者の場合はgit commitでした)。
もし「7GB以上の空き容量が必要」と表示された場合は、Apple開発者サイトからXcode本体をダウンロードするよう求められていますのでご注意ください。
上記のコマンドで解決しない場合は、続けて以下のコマンドも実行してみてください:
xcode-select --reset
さらに、Xcodeなしでコマンドラインツールを使えるようパスを設定するには、次のコマンドを実行します:xcode-select --switch /Library/Developer/CommandLineTools
Node.jsやnode-gypタイプのモジュールを使っている場合、ターミナルに次のような警告が表示されることがあります:
xcode-select: error: tool 'xcodebuild' requires Xcode
but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
これは、完全版Xcodeが必要な場面で、開発者ディレクトリが/Library/Developer/CommandLineToolsを指しているときに発生します(Xcodeの後にCommandLineToolsをインストールした場合など)。次のコマンドで開発者ディレクトリをXcode.appに切り替えればすぐに解決できます:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
対処法2:Apple開発者ダウンロードページからインストールする
ターミナルからCommand Line Toolsをインストール・再インストールし、Macを再起動してもエラーが消えない場合は、Appleから直接DMGファイルをダウンロードして手動でインストールする方法を試しましょう。
ダウンロードにはApple IDが必要です。developer.apple.comにアクセスし、「Command Line Tools for Xcode」(最新版)をダウンロードして手動でインストールしてください。
Homebrewを使っている場合は、Homebrew自体をアップデートしておきましょう。アンインストールして入れ直す必要はなく、簡単なアップデートで十分です。
対処法3:ターミナルにXcodeを使用させる
MacにXcodeがインストール済みなら、上記のインストール手順をスキップして、ターミナルにXcodeのコマンドラインツールを使うよう強制できます。次のコマンドを使用します:
- sudo xcode-select --reset
- sudo xcodebuild -license
複数のバージョンのXcodeが入っている場合は、次のコマンドで使いたいバージョンを選択できます:xcode-select --switch /Applications/Xcode.app
逆に、XcodeなしでCommand Line Toolsを使いたい場合はこちらを実行します:xcode-select --switch /Library/Developer/CommandLineTools
まとめ
この問題はOSのアップデートによって、それまで正常に動いていたサービスが突然使えなくなることで発生することがあります。しかし、上記のいずれかの方法で「xcrun: error: invalid active developer path (/library/developer/commandlinetools)」の問題は解決できるはずです。どの方法でも解決しない場合は、ぜひコメント欄であなたのエラーメッセージを共有してみてください。
-
macOS Montereyアップグレード時の「パッケージ「%@」が見つからないか無効です」エラーを修正する方法
この記事では、macOS Montereyへのアップグレード時に発生する「パッケージ「%@」が見つからないか、無効です(The package %@ is missing or invalid)」というエラーを解決するためのトラブルシューティング方法をご紹介します。 MacをmacOS Montereyにアップグレードするのは基本的にシンプルな作業ですが、まれに「パッケージ「%@」が見つからないか、無効です」という奇妙なエラーメッセージが表示されることがあります。このエラーは、特にmacOS Montereyのインストール中に発生します。 このエラーは一見厄介ですが、さらに困ったことに、約12
-
【解決ガイド】Macで「無効な証明書」エラーを修正する方法
Safari、Google Chrome、Firefox、Operaといった主要ブラウザは、私たちがインターネットを利用するうえで欠かせないツールです。情報収集はもちろん、エンターテインメントやオンラインショッピングなど、さまざまな目的でウェブサイトを閲覧するために活用されています。しかし、ブラウザも完璧ではなく、またアクセス先のウェブサイト側にも問題が潜んでいることがあります。「Macで無効な証明書エラーが出たとき、どうやって直せばいいの?」とお困りの方も多いのではないでしょうか。このエラーは、特定のウェブサイトへアクセスしようとした際に発生することがあります。普段は問題なく動作しているブラ