无法与服务器通信:发布 http://localhost/v2/apps: dial unix /run/snapd.socket: connect: no such file or directory

swa*_*yak 13 command-line snap

我正在尝试使用安装 heroku cli

sudo snap install heroku --classic
Run Code Online (Sandbox Code Playgroud)

命令行说

error: cannot communicate with server: Post http://localhost/v2/apps: dial unix /run/snapd.socket: connect: no such file or directory
Run Code Online (Sandbox Code Playgroud)

我试过systemctl status snapd.service这是结果:

snapd.service
   Loaded: masked (/dev/null; bad)  
   Active: inactive (dead)
Run Code Online (Sandbox Code Playgroud)

我试过 systemctl restart snapd.service了 说道:

Failed to restart snapd.service: Unit snapd.service is masked.
Run Code Online (Sandbox Code Playgroud)

对上述问题的任何帮助表示赞赏。谢谢。

Rav*_*ina 16

揭开snapd.service

sudo systemctl unmask snapd.service
Run Code Online (Sandbox Code Playgroud)

启用它:

sudo systemctl enable snapd.service
Run Code Online (Sandbox Code Playgroud)

启动它:

sudo systemctl start snapd.service
Run Code Online (Sandbox Code Playgroud)

然后尝试安装您想要的应用程序。

  • 我在 ubuntu 的 docker 镜像中。运行 `systemctl start snapd.service` 返回 `系统尚未使用 systemd 作为 init 系统 (PID 1) 启动。无法操作。` (17认同)
  • 如果您使用的是 WSL,则此答案不适用于您的情况。基本上是因为 WSL 上一开始就没有“systemd”。然而[这个](https://github.com/microsoft/WSL/issues/5126)可能对你有帮助。 (13认同)
  • 我正在基于 Ubuntu Linux 运行 WSL,并且运行这些指令在最后一个命令后出现错误:系统尚未使用 systemd 作为 init 系统(PID 1)启动。无法操作。 (11认同)