VSCodeのcodeコマンドが"command not found"になる

: 2022-07-06


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/ 配下に移してくれると親切だなと思いました。
ともかく無事修正できてよかったです。

profile

About Me

新卒2年目の自社開発企業のフロントエンドエンジニア。バックエンドも少し触ります。

Category

Tag