WSLのsnapでインストールしたnode.jsを削除しようとしたらこんなメッセージが出て削除できない状態でした。
❯ sudo snap remove node [sudo] password for : 2023-05-21T14:42:03+09:00 ERROR cannot remove snap file "node", will retry in 3 mins: incorrect number of tail fields, expected 3 but found 4 2023-05-21T14:45:03+09:00 ERROR cannot remove snap file "node", will retry in 3 mins: incorrect number of tail fields, expected 3 but found 4
なぜ?と思って調べてみたところ、Windows版Docker Desktop(WSL2を使用している)を終了してから削除すればいいとのことでした。
- Docker Desktopを終了
- 管理者コマンドプロンプトから
wsl --shutdown
- 再度wslを起動(wsl.exe)
- WSLで
snap refresh
- Docker Desktopを起動
インストールもvolta使うことにしました。
あとついでに、WSLで何かコマンド実行すると以下のエラーが出ていたのですが
cmd_run.go:1046: WARNING: cannot create user data directory: cannot determine SELinux status: failed to obtain SELinux mount path: incorrect number of tail fields, expected 3 but found 4
これもwsl.confからWindowsとの相互運用をしない、という設定を追加して回避しました。
[interop] appendWindowsPath=false enabled=false
もともとWSLからWindowsのコマンド実行してほしくなかったので、これでいいかなと。これやるとnode.jsのパッケージをWindowsとLinuxで両方持たないといけないはずですが、気にしないことにします。