gpt4 book ai didi

ubuntu - 如何更换旧 fish 安装

转载 作者:行者123 更新时间:2023-12-04 19:14:38 25 4
gpt4 key购买 nike

问题:

 ⚙  ~  fish --version
fish, version 2.5.0-238-ga811ae2
⚙  ~  echo $FISH_VERSION
2.2.0

尝试调试:
 ⚙  ~  exec fish
set: Invalid character “.” in variable name. Only alphanumerical characters and underscores are valid in a variable name.
/usr/local/share/fish/functions/setenv.fish (line 10): set -gx $v $$v
^
in function “setenv”
called on line 46 of file ~/.config/fish/config.fish
with parameter list “LANG en_US.UTF-8”

from sourcing file ~/.config/fish/config.fish
called during startup

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
~  echo $FISH_VERSION
2.5.0-238-ga811ae2

我从apt安装了fish 2.2。然后后来直接从github repo安装了fish 2.5。但它仍在使用旧 fish ,我不确定这里发生了什么。

最佳答案

这里至少有两个问题:

第一个是你还在执行老 fish 。原因可能是您将新 fish 安装到/usr/local (很可能是因为您使用 make install 安装它,默认为该目录),但尚未调整您的 shell 设置以指向新的.

要确认这一点,请运行 type -a fish .它应该显示 fish 在/usr/bin 和/usr/local/bin 中。要解决此问题,有两种解决方案:

  • 将新 fish 添加到/etc/shells 并运行 chsh -s /usr/local/bin/fish (如 https://github.com/fish-shell/fish-shell#switching-to-fish 中所述)

  • 或者最好
  • 使用the PPA provided by the fish-shell project并通过 apt 安装新 fish


  • 第二个问题是 setenv错误。您可能有类似 setenv "LANG en_US.UTF-8" 的内容(带引号)在您的 config.fish 中。这将产生那个丑陋的错误,并且不会像你想要的那样设置变量。解决方案是
  • 使用set -gx LANG en_US.UTF-8或至少 setenv LANG en_US.UTF-8 (不含引号)

  • 或者
  • 停止设置 $LANG - 自 2.4.0 版以来的 fish 将在没有收到语言环境时自行设置语言环境。
  • 关于ubuntu - 如何更换旧 fish 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925708/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com