Mac OS
エラー修正方法
xcrun: エラー

xcrun: error: invalid active developer path: how to fix

xcrunエラーの例

Mac OSでコマンドラインコマンドを入力する際、上記のようなエラーが出ることがある。 対処法は簡単だ。 知っておく必要があるのは、なぜエラーが発生するのか、ということで、開発の勉強をしているのであれば、先に進む前に原因のセクションを読んでおくことをお勧めする。

1. 回避策

まずは回避策から。

ターミナルに次のように入力し、Enterキーを押してください。

xcode-select --install

開いたウィンドウで、Installボタンをクリックします。

デベロッパーツールのインストールポップアップ

最後に、ライセンスウィンドウのOKボタンをクリックすると、インストールが進みます。 インストールが終了したら、同じコマンドを入力するとエラーなく実行されます。

python3を実行

2. 原因

エラーを修正したので、なぜエラーが起こるのかを見てみましょう。エラーそのものから始めると、以下のようになります。

$ python3
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

python3というコマンドを入力したが、xcrunがないというエラーメッセージが出た。xcrun はどこから来たのですか?

2.1. xcrun

manpagezはこのように説明している: (opens in a new tab) アイデアを与えるために、xcrun がすることは、私のマシンにインストールされている多くのPythonの中からXcodeが使用するバージョンのPythonを実行することです。 CommandLineToolsに付属しているPythonのバージョンを実行することだ。 xcrun`が実行するバージョンは、Mac OSが現時点で我々のオペレーティング・システムに最適だと考えているものだ。

もちろん、あなたの考えはシステムに優先する。 だから、xcrunはすべてのPATHを探索した後に実行される。 知らない人のために、CLIコマンドとPATHの関係を説明しておく。

2.2. CLIとPATH

PythonインタプリタのようなCLIから実行されるプログラムは、コンピュータ上のどこにでも存在できます。 それは /opt/homebrew/bin/python3 にあるかもしれないし、 /usr/bin/python3 にあるかもしれない。 このプログラムを実行するには、/で始まるトップレベルのディレクトリに入る必要がある。

/usr/bin/python cli

PATHは、これらの接頭辞付きのディレクトリアドレスを省略できるようにするものである。 PATHに目的のディレクトリを指定すると、コンピュータは自動的にそのフォルダの中にある python3 実行ファイルを見つけて実行します。

python3 cli

私のコンピュータの PATH は以下のコマンドで見つけることができる。

echo $PATH

以下のように、複数のパスが出力されるはずだ。

echo $PATH

出力された複数の PATH の先頭に行き、python3 の実行ファイルが存在すればそれを実行し、最後に存在しなければ見つからなかったというメッセージを出力します。

このメッセージを確認するために、マシンに存在しない python4 を実行してみよう。

python4実行時の画面

xcrunが行うことは、上記のすべてのPATHを見つけ、OSとXcodeのためにインストールされているpython3の実行ファイルを見つけて実行することです。

2.3. Mac OS のアップデート

xcrunもその一部であるCommandLineTools自体がMac OS用に最適化されたアプリケーションのセットであるため、CommandLineToolsとMac OSのアップデートは密接に関係しています。 Mac OSのアップデートにCommandLineToolsのアップデートが含まれていることがある。 これにより、Mac OS のアップデートが xcrun のディレクトリ設定を混乱させたり、リセットさせたりするバグが発生する。

上記の回避策は、CommandLineToolsのクリーンインストールで初期化されたプログラムを修復したり、破損したパスを元に戻したりするのに有効です。 回避策は簡単だが、xcrunについて調べたり、Mac OSがどのように動作するのかを知るのは楽しかった。

copyright for Mac xcrun error

© 2023 All rights reserved.