fish shell启动报Unknown command: pyenv错误该如何解决?
故障原因
- 执行
pyenv init相关命令时,fish shell 尚未正确识别pyenv的可执行文件路径,你现有配置里的PATH设置要么路径错误、要么未在执行init命令前生效 - 若你是通过Homebrew安装的pyenv,不同架构Mac的pyenv默认安装路径不同,原配置里写死的
~/.pyenv/bin不是brew安装的pyenv的实际路径
修复步骤
先确认pyenv的实际安装路径,终端执行以下命令:
which pyenv
输出的路径就是pyenv可执行文件的所在目录,比如Intel Mac brew安装的输出为/usr/local/bin/pyenv,Apple Silicon Mac brew安装的输出为/opt/homebrew/bin/pyenv,手动编译安装的才会输出~/.pyenv/bin/pyenv。如果该命令无输出,说明pyenv已被卸载或安装异常,重新安装pyenv后再走后续步骤即可。修改
~/.config/fish/conf.d/pyenv.fish文件内容为以下格式,注意替换PATH里的路径为上一步得到的pyenv所在目录:
# 替换为你上一步得到的pyenv所在目录,比如brew Intel设备就写/usr/local/bin set -gx PATH 你的pyenv所在目录路径 ~/.pyenv/bin $PATH # 增加存在性判断,避免找不到命令报错 if command -v pyenv &> /dev/null pyenv init --path | source pyenv init - | source end
- 保存配置后新开fish终端,执行
pyenv --version验证,无报错且正常输出版本号即为修复完成。
内容的提问来源于stack exchange,提问作者iuuujkl
相关产品推荐
相关产品推荐

