Windows Updateしたら、VSCode WSL2が起動しなくなった件【WSL導入方法】

Node.js
※当ブログの記事内にはプロモーションが含まれている場合があります。

この記事で分かること

  • VSCodeのインストール・アンインストール方法
  • WindowsへのWSL(Ubuntu)導入方法
  • WSLへのnode導入方法
  • WSLでGitを使う方法

Windows Updateして何が起きたか

Windows Updateをして、、、

いつもどおりVSCodeを開き、、、

WSL (Ubuntu) (Remote – WSL) を起動すると、、、

数分間の接続動作ののち、下記のエラーが表示された。。

VS Code Server for WSL failed to start. No messages received for 90s

WSLが起動できなくなっている;;

まず試したいこと

VSCodeのターミナル(PowerShell)で下記を叩いて、再起動すると直るらしい。
私は直らなおりませんでしたが、これで直るなら万々歳。

$ wsl --shutdown

注意!

ここで紹介する方法は、アンインストールを使う方法なので、
最終手段です

もしかすると、パスが通ってないだけかもしれないので、
他にも方法があれば、今度はそちらを試したい。

今回は、VSCode, WSLの導入方法の復習がてら
ここに残します。

全体の流れ

  • VSCodeアンインストール
  • VSCodeインストール
  • Ubuntuインストール
  • WSL接続

おまけで

  • node導入
  • git接続 (backlog)

手順

1. バックアップ

その前に、必要であればバックアップ(メモするなど)

  • 拡張機能: 一覧をメモしておく
  • setting.json: PCの他のディレクトリにコピーしておく
  • C:\Users\ユーザ名\.vscode: フォルダ名をリネームしておく
  • C:\Users\ユーザ名\AppData\Roaming\Code: フォルダ名をリネームしておく

2. VSCodeアンインストール

コントロールパネルからアンインストール

Windowsキー押下→コントロールと入力→コントロールパネルを選択
プログラム > プラグラムのアンインストール クリック
Microsoft Visual Studio Code をダブルクリックして、アンインストール

機能拡張関連ファイルの削除

C:\Users\ユーザ名\.vscode を削除

※不安であれば前述した通り、リネームするなどしてバックアップを取っておく

ユーザ設定ファイルの削除

エクスプローラーの↑部分に「C:\Users\ユーザ名\AppData\Roaming」と入力→Roamingまで飛ぶ
Codeフォルダごと削除

※不安であれば前述したとおり、リネームするなどしてバックアップを取っておく(水色の部分参照)

参考サイト

3. VSCodeインストール

VSCodeを再度インストール

VSCodeインストール ←ここから

4-1. Ubuntuインストール

PowerShellにてUbuntuインストール

$ wsl --install -d Ubuntu-20.04
インストール中: Ubuntu 20.04 LTS
Ubuntu 20.04 LTS はインストールされました。     Ubuntu 20.04 LTS を起動しています...

ubuntuが自動で起動されるので、ユーザー名・パスワードを入力(任意の文字列)

Installing, this may take a few minutes...
Enter new UNIX username: xxxxx (任意の文字列)
New password: xxxxx (任意の文字列)
Retype new password: xxxxx (任意の文字列)
passwd: password updated successfully
passwd: password updated successfully
ファイル システムの 1 つをマウント中にエラーが発生しました。詳細については、「dmesg」を実行してください。

Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 4.19.128-microsoft-standard x86_64)

Welcome to Ubuntu が表示されているので、インストールは完了。
VSCodeのターミナルの種類が、WSLになっていると思います。

ただ、ファイル システムの 1 つをマウント中にエラーが発生しました が気になるので対応しておきます。

4-2. ubuntuマウントエラー対応

Windowsのターミナルを開いて下記コマンドを実行
※wslのアップデートをしています

$ wsl.exe --update
$ wsl.exe --shutdown

自動でUbuntuのウィンドウが閉じます。

PowerShellでちゃんと入ったか確認

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal

ok

5. 拡張機能インストール

Remote Development をインストール

WSL接続に必要な拡張機能がすべて入ります。

6. WSLに接続

VSCodeの REMOTE EXPLORER を開く
Ubuntu-20.04 右クリック → Connect to WSL で接続する

WSLのウィンドウが開くはずです!

ちなみに、はじめに入れて置きたい拡張機能一覧はこちら

初期設定はこちら

ついでにnodeの設定

nodeもなくなっていたので、再インストールします。。泣

1. 管理パッケージインストール

プロジェクトによってnodeのバージョンを変更することがあるので、
curlコマンドを使用して、nvmをインストールします。

nvmのバージョンはここに表示されているもの —- ★

# curlコマンドあるか確認
$ command -v curl
/usr/bin/curl      # ok

# 何も出てこなかったらcurlインストール
$ sudo apt install curl  

# nvmインストール(上記★参照)
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

# .bashrc の変更を適用
$ source ~/.bashrc 

# nvmがちゃんとはいったか確認
$ command -v nvm   
nvm                 # ok

参考

2. nodeインストール

# 基本LTSの最新版でOK
# ※LTSはバグなどが少なく安定して使用できるもの
$ nvm install --lts

# バージョンを指定してインストールする場合はこちら
$ nvm install 14.19.1

入ったか確認

$ node -v
v14.19.1    # ok

バージョンを切り替えたい場合

指定のバージョンをインストールして、useする

# 例えば、16.13.0をインストール
$ nvm install 16.13.0

# 使用するバージョンを切り替える
$ nvm use 16.13.0

# 確認
$ nvm current 
v16.13.0       # ok

ついでに、gitの設定

そして、gitの設定もしておきます。

1. 拡張機能インストール

便利なので、VSCodeの拡張機能 git lense をいれます。

2. 秘密鍵を作成 + Gitに公開鍵登録

  1. まずこちら↓の記事を参考に、鍵を作成して、Githubに登録する
  1. sshエージェントに登録されたか確認します
# sshエージェント起動 - windowsの場合必須
$ eval `ssh-agent`
Agent pid xxxxxx    # ok
  1. 秘密鍵が登録されているか確認
$ ssh-add -l
256 SHA256:xxxx xx@xxx (ED25519)   # ok
  1. 登録されていなかったら登録する
# 秘密鍵登録
$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/xxx/.ssh/id_ed25519: [秘密鍵のパスワードを入力]
Identity added: /home/xxx/.ssh/id_ed25519 (xxx@xxx)    # ok

$ ssh-add -l
256 SHA256:xxxx xx@xxx (ED25519)     # ok

3. configファイル編集

# configファイル存在確認
$ ls  ~/.ssh/config
/home/xxx/.ssh/config  # ok
                       # なければ↓のようにファイル作成

# なければ、configファイル作成
$ touch ~/.ssh/config

~/.ssh/config ファイル編集

# 例えばバックログで管理しているgitなら...
# [xxxx] は、自分のバックログのドメインを参考に変更
Host xxxx_backlog
    HostName xxxx.git.backlog.jp      # .com の場合もあり ドメイン確認
    User xxxx
    IdentityFile ~/.ssh/id_ed25519

4. 疎通確認

# 疎通確認
$ ssh -T xxxx_backlog
Enter passphrase for key '/home/xxxxxxx/.ssh/id_ed25519': [秘密鍵のパスワード入力] 
You've successfully authenticated, but Backlog does not provide shell access.

# ↑ ok:
# バックログはshellからのアクセスを許可していないが、ssh接続は機能しているのでこれで疎通確認はok

5. gitからプロジェクトをクローン

gitからプロジェクトをクローンするために、
まず、ディレクトリを作成したりします。

# 現在地確認
$ pwd
/home/[ユーザー名]/    # 違う場所なら、cdでここに移動しておく

# ディレクトリ作成
#    ★ [panshoku_pr] は任意のものを入力
$ midir panshoku_pr

# 移動
$ cd panshoku_pr

# クローン
#    ★ configファイルで追加した名前を使う [xxxx_backlog]
#    ★ git (backlog) で確認したリンクが xxxx@xxxx.git.backlog.jp:/xxxxxxxxxx/xxxxxxxxxxxx.git の場合
$ git clone xxxx_backlog:/xxxxxxxxxx/xxxxxxxxxxxx.git

完了~~~

yarnも入れる

この次に yarn を入れる場合こちら↓

WSL2入れて、秘密鍵も作って、githubに接続できたので、yarn入れとこう
表題通り、WSL2導入等完了したので、yarn入れたり、その後の手順残しておきます。 WSL2導入編はこちら↓ この記事で分かること yarn導入方法がわかる管理パッケージの選出理由がわかる yarn 導入 Command 'yarn' n...

もし、エラーになった場合は….

# # fatal: unable to access エラーの場合

# 名前解決する
$ sudo sh -c "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"

# 疎通確認
$ dig +tcp packages.microsoft.com
;; Got answer:                     # ok

---

# # 秘密鍵系でエラーが出た場合

# 方法1. 権限を変えてみる
$ chmod 600 ~/.ssh/config


# 方法2. git remote urlが設定されているか確認

# 登録確認
$ git remote -v
origin  xxxx:/xxxx/xxxx.git (fetch)      # ok
                                         # 登録されていなかったら↓

# 登録
# git remote set-url origin xxxx:/xxxx/xxxx.git

まとめ

いつ何時、WSLがダメになるかわからないので
こまめにgit commitして、リモートにプッシュするの大事、、、

yarnを入れる場合は、こちら↓にまとめましたので、ご覧ください。

WSL2入れて、秘密鍵も作って、githubに接続できたので、yarn入れとこう
表題通り、WSL2導入等完了したので、yarn入れたり、その後の手順残しておきます。 WSL2導入編はこちら↓ この記事で分かること yarn導入方法がわかる管理パッケージの選出理由がわかる yarn 導入 Command 'yarn' n...

コメント

タイトルとURLをコピーしました