捕捉路径未正确列出

捕捉路径未正确列出

笔记:我正在使用 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

我知道这是一个路径问题,因为:

  1. 如果我从 discord 文件夹打开它并从那里运行可执行文件,它就会起作用。
  2. 它适用于所有与 snap 相关的应用程序,我试过 Discord 和 Docker。其他与 snap 不相关的应用程序将会打开。
  3. Snap 及其应用程序以前运行良好,没有出现此错误。

我已尝试过

  1. 安装 sqauashfuse0
sudo apt install libsquashfuse0 squashfuse fuse
  1. 修复,创建 /etc/environment.d/
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,然后重新安装。这似乎解决了问题。

相关内容