めあとるーむ記録帳

なんか書く

Macで再起動するとVSCodeのパスが通らなくなる

Visual Studio Codeは code コマンドで起動する。ちなみにWindowsだとデフォルトでそうなってる。

macOSだと app パッケージ?で配布されているので自前でパスを通さないといけないが、コマンド操作に「シェルコマンド: PATH 内に 'code' コマンドをインストールします (Shell Command: Install 'code' command in PATH)」というのがあるのでそれを実行したらコマンドで起動できるようになる。

なるのだが、再起動すると毎回パスが抜けるのか変わるのか起動しないことがあった。

先に解決法を述べるが、appパッケージをアプリケーションフォルダに持っていってからコマンドを実行してパスを通すと解決する。

で、原因だが、なんでかなーと思いつつ毎回再起動後にコマンド操作で追加していたのだが流石に面倒なので解決しようと思い調べたところ、まずダウンロードされたものをそのまま起動すると当然ながら download フォルダにあるパッケージが起動していて、この結果起動した Code は /private/var/folders/lf/[なんかランダムな文字列?]/T/AppTranslocation/[またランダムな文字列?UUIDっぽい]/d/Visual Studio Code.app/[以下略] で起動していたらしい。

UUIDっぽいのがCodeの起動段階で決まるっぽく、一旦起動したら毎回ここを参照してくれるようだがシャットダウンなどシステムが落ちるとこのフォルダは消えるらしく、そのため毎回パスが変わってようだった。

推測が多いがつまるところダウンロードしたappパッケージの取扱が良くなかったらしい。ちなみにコマンドは /usr/local/binシンボリックリンクであるのでそこで確認して上のUUID混じりのコマンドなどになっていたら多分駄目だろうという推測が立つ。

ちなみにちゃんと?アプリケーションに移動させてコマンドを実行したところ code -> /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code となっていたのでこれなら再起動したあとでも大丈夫だと思う。再起動して確認してないんだよね(確認して駄目だったら追記する)