【解決(と思う)】Windowsで突然VSCodeが起動しなくなったときの対処
スポンサーリンク
ある日Windowsにて、VSCodeが起動しなくなった。
エラーが出るわけでもなく、アプリをダブルクリックしても何の反応もない。
アンイストールしてはいない、アプリは存在する。
元にプログラム一覧にあるし、Windowsのスタートメニューにもある。
同じ現象が起きている人がいないかとググる。
「Windows10 VSCode 起動しない」とか。
出てきた結果はざっくり、
「ネットワークが切れているから、オフラインで起動する方法は・・・」とか、
「アップデートのときなんか失敗したのかも、一度アンイストールして再インストールだな」など。
なるほど。
ネットワークはバリ3(古い)なので、「オフラインどうのこうの」は違う。
「アップデートのとき失敗」はあり得る。ソフトウェアなんて完璧は存在しないから。
しかし、再インストールはできるだけ避けたい。
いろいろ拡張パッケージ入れたし、キーバインドとか設定もしたから、またいろいろやるのはめんどくさい。
(まぁ、キーバインド(keybindings.json)とか設定(settings.json)のファイルはバックアップしておけばコピペでいけるんだけどね)
(例) kiybindings.jsonの場所 C:\UserArea\(user)\AppData\Roaming\Code\User settings.jsonの場所 C:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code
ということでちょっと他の方法を探ってみる。その備忘録。
目次
- 1. VSCodeをターミナル(コマンドプロンプト)で起動してみる
- 2. 「natives_blob.bin」でググる。
- 3. 「_」の中身を、上のフォルダ(Code.exeがあるフォルダ)に移動する
- 4. VSCodeを起動してみる。
スポンサーリンク
1. VSCodeをターミナル(コマンドプロンプト)で起動してみる
ウィンドウ上ではエラーメッセージなど出てこないが、ターミナル上では何かしらエラーを吐いているかもしれない。少なくともどこで止まっているかは確認できかも。
VSCodeの実行ファイルはどこにある?
起動するショートカットアイコンなどを右クリック > プロパティ を開けば、「場所」に書いてある。ぼくの場合は、
D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code\Code.exe
とあるので、これが実行ファイル本体。
なので、この場所でコマンドプロンプトを起動する(もしくはこの場所まで移動する)。
開く方法(参考)
ahrk-izo.hatenablog.com
この場所でコマンドプロンプトを起動したら、Code.exeを起動してみる。
D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code>Code.exe D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code> [15216:0421/104958.513:FATAL:v8_initializer.cc(176)] Failed to open V8 file 'D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code\natives_blob.bin' (reason: -4)
ほう。なるほど?
natives_blob.binってファイルを開こうとして、失敗してるっぽい。
フォルダを見るとそんなファイルない。やっぱりアップデートときなんか失敗してるな。
とりあえず原因がわかったので、ちょっと前進した。
2. 「natives_blob.bin」でググる。
ググると言っても、日本語でググっても冒頭にある通りかもしれないので、英語でググってみる。
「vscode native_blob.bin」で検索。
トップに
Failed to open V8 file \natives_blob.bin · Issue #82382 · microsoft/vscode · GitHub
が出てきた。内容を見ると、状況は全く同じっぽい。
結論を言うと、この中のこの コメント の通りにやったらできた。
要は、
- Code.exeがあるフォルダの中に「_」というフォルダがある。
- その中にファイルを、上のフォルダ(Code.exeがあるフォルダ)に移動する(おそらくこれがアップデートのとき移動しきれなかったのかな?)
でOK。
3. 「_」の中身を、上のフォルダ(Code.exeがあるフォルダ)に移動する
Code.exeがあるフォルダの中に「_」というフォルダの中に、「_」フォルダを確認。
その中身を確認。
この中に、natives_blob.binのファイルもあるね。やはり。
上のフォルダ(Code.exeがあるフォルダ)に移動する。
これでOKだな。
スポンサーリンク
4. VSCodeを起動してみる。
まずはターミナル(コマンドプロンプト)でやってみる。
D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code>Code.exe D:\UserArea\(user)\AppData\Local\Programs\Microsoft VS Code> [main 2020-04-21T02:18:34.833Z] update#setState idle (node:9096) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:9096) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information (node:1720) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information [main 2020-04-21T02:19:04.896Z] update#setState checking for updates [main 2020-04-21T02:19:06.733Z] update#setState idle
起動できた!
もちろん、アプリのアイコンからも!
これが正しいやり方かはわからないが、無事起動して、問題なく起動している。
まぁ本当に何か不具合起きたら再インストールすればいいさ。
とにかく、ターミナルで起動してみて、エラーやどこで止まっているかを確認してみるのは大事だね。
以上。