VSCodeのcodeコマンドが"command not found"になる
VSCodeをターミナルから code
コマンドで立ち上げたいのですが、一度VSCodeを停止してしまうと code
コマンドが使えなくなってしまいました。
Macを変えたばかりだったので相性が悪いだけかとしばらくスルーしていましたが、手動起動の度にcode
を登録する必要があり面倒だったので原因を調査してみました。
結論
VSCodeを/Downloads/Visual Studio Code.app
から起動していたことが原因でした、、、
結論としては簡単でVSCodeをApplications
配下に移動すればOKです。
以下、調査内容を残しておきます。
事象
MacBookProにおいて、VSCodeをターミナルから code
コマンドで立ち上げる際、一度VSCodeを停止してしまうと code
コマンドが使えなくなる。
エラー内容は以下です。
$ code .
zsh: command not found: code
$ which code
code not found
原因調査
再度、VSCodeでcode
をインストールしてみる。
$which code
/usr/local/bin/code
/usr/local/bin/code
のシンボリックリンクを確認してみる。
$ ls -l /usr/local/bin/code
lrwxr-xr-x 1 root wheel 68 6 14 19:42 /usr/local/bin/code -> -> /private/var/folders/(...省略)/T/(...省略)/Visual Studio Code.app/Contents/Resources/app/bin/code
なんか変なところに配置されているように見えますね。
調査したところ、/private/var/folders/xxxxx/T/
にあるファイルは、再起動すると消去されるキャッシュのようなので、ここにあるのが良くないようです。
この時点で、VSCodeが /Applications/
配下にないことに気付きました。/Downnloads
から起動したappは一時的に別フォルダ上にコピーされて実行されるようです。
解決方法
VSCodeのAppを/ Downloads/Visual Studio Code.app
から/Applications/Visual Studio Code.app
に移動して、そこから起動するようにします。
その後、code
コマンドをVSCodeから登録して、再度シンボリックリンクを確認してみます。
$ ls -l $(which code)
lrwxr-xr-x 1 root wheel 68 6 14 19:42 /usr/local/bin/code -> /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code
正しそうな感じですね、、!! vscodeを終了して、再度実行してみると、、、
$ code .
無事起動できました!!!何度やっても動きます!!!嬉しい!!
最後に
そもそも .app
形式のファイルはinstaller側が /Applications/
配下に移してくれると親切だなと思いました。
ともかく無事修正できてよかったです。