Показать статистику
0 голосов
от (1.7тыс. баллов)

После обновления системы моя подсказка о 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

Я подтвердил, что 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

... так что / snap / bin в $PATH любом случае.

Я предполагаю, что обновление для fish и/или snap вызвало эту ошибку. Предполагая чистую установку fish в Ubuntu, где мне найти инструмент fish_add_path ?

146 просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Возможно, вы думаете о set -U fish_user_paths более ранних версиях fish. fish_add_path был добавлен в fish 3.2.0 , но вы запускаете fish 3.1.0.

Вы можете обновиться до последней версии fish (3.3.1) из PPA следующим образом:

sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt upgrade

Это PPA, на который ссылается официальная домашняя страница fish. Основываясь на информации на странице серии выпусков 3.x , это должно работать для версий Ubuntu bionic, focus, groovy, hirsute и xenial.

Выполнение этих команд решит эту проблему в следующий раз, когда откроете эту оболочку.


Кроме того, вы можете закомментировать соответствующую строку в /usr/share/fish/vendor_conf.d/snapd.fish. Похоже, что snap предполагает, что вы используете более новую версию fish .

Кроме того, помните, что в этом файле есть еще одна ошибка: bugs.launchpad.net/snapd/+bug/1957155 ; если вы не исправите это, вы получите всевозможные сбои в приложениях с графическим интерфейсом (крах meld с SIGTRAP, Kompare не запускается и тому подобное)

...