这是我理解的问题,我相信* nix系统很少需要重启。即如果您安装了新的"应用程序"甚至kernal 9/10不需要重启。
我最近从source:camlp4-4.03-1安装了一个随机组件(liquidsoap依赖)并注意到以下内容:
pi@raspberrypi:~ $ /usr/local/bin/camlp4 -v
Camlp4 version 4.03.0
pi@raspberrypi:~ $ camlp4 -v
Camlp4 version 4.01.0
pi@raspberrypi:~ $ which camlp4
/usr/local/bin/camlp4
我对版本不匹配感到难过?对于看似相同的文件? 没有" camlp4"在目前的目录:)
HW: Raspberry Pi 3
OS: Raspbian Jessie (up to date)
<小时/> 要求提供的信息:
pi@raspberrypi:~ $ find / -name camlp4
/usr/local/lib/ocaml/site-lib/camlp4
/usr/local/lib/ocaml/camlp4
/usr/local/bin/camlp4
/usr/lib/ocaml/camlp4
/usr/share/doc/camlp4
/usr/bin/camlp4
/home/pi/apps/camlp4
/home/pi/apps/camlp4/camlp4-4.03-1/_build/camlp4
/home/pi/apps/camlp4/camlp4-4.03-1/camlp4
/home/pi/apps/ocamlfind/findlib-1.6.2/site-lib-src/camlp4
pi@raspberrypi:~ $ type -a camlp4
camlp4 is /usr/local/bin/camlp4
camlp4 is /usr/bin/camlp4
pi@raspberrypi:~ $ which camlp4
/usr/local/bin/camlp4
pi@raspberrypi:~ $ /usr/bin/camlp4 -v
Camlp4 version 4.01.0
pi@raspberrypi:~ $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
提供的测试解决方案:
pi@raspberrypi:~ $ /usr/local/bin/camlp4 -v
Camlp4 version 4.03.0
pi@raspberrypi:~ $ camlp4 -v
Camlp4 version 4.01.0
pi@raspberrypi:~ $ which camlp4
/usr/local/bin/camlp4
pi@raspberrypi:~ $ hash -r
pi@raspberrypi:~ $ camlp4 -v
Camlp4 version 4.03.0
答案 0 :(得分:5)
大多数shell确实维护了为给定命令启动的二进制缓存,以避免每次都在搜索PATH
,并且which
不知道此缓存,这解释了这种差异你在观察。刷新缓存的方式因shell而异。对于bash
或dash
,您应该hash camlp4
。对于zsh
,这是rehash
。