Linux

zsh 在安裝新二進製文件後使用舊二進製文件

  • March 8, 2021

我已經從原始碼升級curlconfigure和. 但是,我的 zsh 使用舊版本的二進製文件。這種行為的原因是什麼?make``sudo 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)

執行rehash命令以zsh獲取新的命令位置。zsh在內部記憶體命令的位置,因此不必$PATH每次都遍歷。該rehash命令刷新該記憶體。

引用自:https://serverfault.com/questions/1056264