我已经通过和升级了 curl 源代码configure
。 但是,我的 zsh 使用旧版本二进制文件。这种行为的原因是什么?make
sudo make install
环境
- CentOS Linux 版本 7.8.2003
- zsh 5.3.1
- 抗原
流程
- 安装 curl 7.75
curl --version
运行旧版本(7.29)/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
命令会刷新该缓存。