笔记:我正在使用 discord 的示例,但这是针对我从软件中心安装的所有 snap 应用程序。
我需要 NodeJs 来做某件事,但不得不经历很多步骤,因为它根本无法安装。我不得不摆弄很多文件,例如 bash.bashrc 和 /etc/environment 等。我现在注意到,像 discord 这样的 snap 应用程序无法打开,当我尝试从软件中心卸载它们或安装可执行文件时,我收到此错误:
/snap/bin$ sudo snap install discord
error: system does not fully support snapd: cannot mount squashfs image using
"squashfs": exec: "mount": executable file not found in $PATH
如果我尝试打开它,我会得到
/snap/bin$ discord
Command 'discord' not found, but can be installed with:
sudo snap install discord
我知道这是一个路径问题,因为:
- 如果我从 discord 文件夹打开它并从那里运行可执行文件,它就会起作用。
- 它适用于所有与 snap 相关的应用程序,我试过 Discord 和 Docker。其他与 snap 不相关的应用程序将会打开。
- Snap 及其应用程序以前运行良好,没有出现此错误。
我已尝试过
sudo apt install libsquashfuse0 squashfuse fuse
sudo mkdir /etc/environment.d
sudo echo -e "PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/snap/bin"\nXDG_DATA_DIRS="/usr/local/share:/usr/share:/var/lib/snapd/desktop"" > /etc/environment.d/60-snap-icons-and-bin.conf
sudo reboot now
系统详细信息:
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
答案1
解决方案
我在snapcraft然后他们运行了以下命令:
$ sudo cat /proc/$(pidof snapd)/environ | tr "\0" "\n"
需要注意的主要事情是,PATH=
由于我已更改,因此哪个设置对我来说不正确/etc/environment
。我将其更新回PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
之后我尝试卸载并重新安装 snap:
$ sudo apt remove snapd
$ sudo apt install snapd
之后,我从软件中心卸载了 Discord,然后重新安装。这似乎解决了问题。