zsh 安装新二进制文件后使用旧二进制文件

zsh 安装新二进制文件后使用旧二进制文件

我已经通过和升级了 curl 源代码configure。 但是,我的 zsh 使用旧版本二进制文件。这种行为的原因是什么?makesudo make install

环境

  • CentOS Linux 版本 7.8.2003
  • zsh 5.3.1
  • 抗原

流程

  1. 安装 curl 7.75
  2. curl --version运行旧版本(7.29)
  3. /usr/local/bin/curl --version运行新版本(7.75)
$ curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu)  (snip)

$ which curl
/usr/local/bin/curl

$ /usr/local/bin/curl --version
curl 7.75.0 (x86_64-pc-linux-gnu)  (snip)

如果我写入PATH环境变量而不进行更改,zsh 将运行没有绝对路径的新版本。

$ curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu)  (snip)

$ export PATH=$PATH

$ curl --version
curl 7.75.0 (x86_64-pc-linux-gnu)  (snip)

答案1

运行rehash命令以zsh获取新的命令位置。zsh在内部缓存命令的位置,这样就不必$PATH每次都遍历。该rehash命令会刷新该缓存。

相关内容