lof*_*ops 27 command-line fish snap
系统更新后,我的 Fish shell 提示不再起作用。每当我打开终端时,我都会收到此错误:
/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
Run Code Online (Sandbox Code Playgroud)
我已经确认fish_add_path
不能从命令行调用它,这让我感到惊讶,因为它是 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
Run Code Online (Sandbox Code Playgroud)
...所以 /snap/bin 无论如何都在$PATH
。
我假设对 Fish 和/或 snap 的更新触发了此错误。假设在 Ubuntu 上全新安装了fish,我应该在哪里找到fish_add_path工具?
小智 27
您可能会想到set -U fish_user_paths
早期版本的 Fish。fish_add_path
已在 Fish 3.2.0 中添加,但您正在运行 Fish 3.1.0。
您可以从 PPA 升级到最新版本的 Fish (3.3.1),如下所示:
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt upgrade
Run Code Online (Sandbox Code Playgroud)
这是从官方 Fish 主页链接到的 PPA。根据3.x 发行版系列页面上的信息,这应该适用于 Ubuntu 的 bionic、focal、groovy、hirsute 和 xenial 版本。
下次我打开 Fish shell 时,运行这些命令解决了这个问题。
或者,您可以注释掉 中的相关行/usr/share/fish/vendor_conf.d/snapd.fish
。看来snap 假设您正在运行更新版本的 Fish。
归档时间: |
|
查看次数: |
7957 次 |
最近记录: |