kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

WSLで使っているsnapからnode.jsが削除できない場合他

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で両方持たないといけないはずですが、気にしないことにします。