入力するコマンド:
cd ****(ファイルパス)
code .
cd **** 指定のディレクトリへ移動
code . 指定したディレクトリをVSCodeで立ち上げる
通常、↑これでうまくいくはずが、私の場合
/usr/local/bin/code: line 6: python: command not found
/usr/local/bin/code: line 10: ./MacOS/Electron: No such file or directory
というエラーが出て、ディレクトリが立ち上がらない。
まず試したこと
使いたいシェルに'code'コマンドがインストールされているか確認
VSCodeのメニュー>表示>コマンドパレット>"shell"と入力>「シェル コマンド:PATH内に'code'コマンドをインストールします」をクリック。
すると、「シェル コマンド'code'がPATHに正常にインストールされました。」と表示される。
でもダメだった…。そこで次に試したこと
エラーメッセージを再度よく読む
「Pythonにそんなコマンドないで。とりあえず、/usr〜codeの6行目見ろや。」
/usr/local/bin/code: line 6: python: command not found
わ、わかった…。
おもむろに指定されたファイルを開くと6行目には
function realpath() { python -c "import os,sys; print(os.path.realpath(sys.argv[1]))" "$0"; }
と書いてある。
んー…なんかよくわからんけどこの一文ググってみるか。
で、ググってるとこんなページを見つけた。
https://github.com/microsoft/vscode/issues/141738
読み進めていくと
In macOS 12.3 beta Apple removed support for Python 2. Additionally Python 3 no longer comes bundled with macOS. This causes the code command to not work anymore.
The fact that VS Code is using Python 2 which hasn’t been officially supported since January 2020 is kinda crazy.
This should be fixed ASAP.
ちびくろ翻訳(都合の良いとこだけトリミング済み):
MacOS12.3ベータ版バージョンアップのタイミングで、Python2のサポートが打ち切らて、しかもPython3の提供も無くなった。
なのに、VSCodeのターミナルは2020年以降、Python2を使う仕様になってるってことは、矛盾してるじゃねーか!イカれてるぜ!
謎が解けた😭
つまり、Python2か3にすればいいってことね。
fishcharlieさんありがとう。
解決方法
指定の行を、↓これに書き換えるだけ。
- function realpath() { python -c ...
+ function realpath() { python3 -c ...
python→python3に書き換えられて、ちゃんとVSCodeでディレクトリを開けるようになった🙌
まとめ
今回詰まった内容なら、エラーメッセージの理解から始めていたら、30分は解決時間を削れたかも。
エラーメッセージを読むなんて当たり前のことだけど、詰まったらすぐググって、要約されたページを見つけて楽に解決しようとしてしまう私の悪い癖が、結果、遠回りになってしまった。
ググることも大切だけど、問題の内容によっては、近道になったり、回り道になったり、ね…(しみじみ)。
なのでちょっと調べてわからない時は、一度原点に立ち返って、エラーメッセージを理解したり、公式ドキュメントを読んだりすると、意外と早く解決したりするってことを心に留めておきたい🥸