背景
hugoの環境を構築する過程で、以下のエラーに遭遇した。snapdが動いてないのがダメらしい。
$ sudo snap install hugo error: cannot communicate with server: Post http://localhost/v2/snaps/standard-notes: dial unix /run/snapd.socket: connect: no such file or directory
ちなみにaptでもhugoはインストールできたが、hugoのバージョンがとても古く使い物にならなかったので、snapを使ってインストールすることにした。なお、hugo公式ではsnapを使ったインストールを推奨している。
解決方法
/etc/wsl.confを編集してsystemdを有効化し、WSLを再起動することで解決した。
/etc/wsl.confに追記する内容はコレ
[boot] systemd=true
WSLの再起動の仕方
コマンドライン or PowerShellで次のコマンドを実行。
wsl.exe --shutdown
その後、'sudo snap install hugo'でhugoのインストールに成功した。
その他
systemdが有効になったので、副産物としてsshdが自動で起動するようになった。今まではWSLを起動してから手動で'sudo service sshd restart'していたので、棚ぼたである。
参考
windows subsystem for linux - Snap stopped working on wsl? - Ask Ubuntu
Systemd support is now available in WSL! - Windows Command Line