系统更新后,我的鱼壳提示不再起作用。每当我打开终端时,我都会收到此错误:
/usr/share/fish/vendor_conf.d/snapd.fish (line 3):
fish_add_path -aP $snap_bin_path
^
from sourcing file /usr/share/fish/vendor_conf.d/snapd.fish
called on line 294 of file /usr/share/fish/config.fish
from sourcing file /usr/share/fish/config.fish
called during startup
Welcome to fish, the friendly interactive shell
Type `help` for instructions on how to use fish
我已经确认fish_add_path
is 不能从命令行调用,这让我感到惊讶,因为它是 fish 中包含的基本辅助函数之一。
其他相关细节:
~> snap --version
snap 2.54.2+20.04ubuntu2
snapd 2.54.2+20.04ubuntu2
series 16
ubuntu 20.04
kernel 5.13.0-28-generic
~> fish --version
fish, version 3.1.0
~> which fish
/usr/bin/fish
~> echo $PATH
/home/user/.amplify/bin /home/user/.local/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin /home/user/.local/bin
...所以 /snap/bin$PATH
无论如何都在。
我假设对鱼和/或快照的更新触发了此错误。假设在 Ubuntu 上全新安装了 fish,我应该在哪里找到fish_add_path工具?
您可能会想到
set -U fish_user_paths
早期版本的鱼。fish_add_path
已在鱼 3.2.0 中添加,但您正在运行鱼 3.1.0。您可以从 PPA 升级到最新版本的 fish (3.3.1),如下所示:
这是鱼官方主页链接的 PPA。根据3.x 发行系列页面上的信息,这应该适用于 Ubuntu 的仿生、焦点、groovy、多毛和 xenial 版本。
下次我打开鱼壳时,运行这些命令解决了这个问题。
或者,您可以注释掉 中的相关行
/usr/share/fish/vendor_conf.d/snapd.fish
。snap似乎假定您正在运行更新版本的 fish。