Cabal 声称它已经更新了自己,但实际上并没有

Cabal claims it has updated itself but has not really

按照 关于如何更新 cabal-install 的说明,我似乎能够安装最新版本(或至少某些版本 > 1.18,这就是我通缉

$ cabal install Cabal cabal-install
Resolving dependencies...
Configuring cabal-install-1.22.6.0...
Building cabal-install-1.22.6.0...
Preprocessing executable 'cabal' for cabal-install-1.22.6.0...
<snip>
Linking dist/build/cabal/cabal ...
Installing executable(s) in /home/kavi/.cabal/bin
Installed cabal-install-1.22.6.0

然而,当我尝试 cabal sandbox 时,它失败了,所以我检查了 cabal --version

$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library 

如您所见,该版本不是 cabal 声称安装的版本。

~/.cabal/bin 添加到我的路径中没有任何帮助。 (是的,我确实重启了我的终端)。

$ echo $PATH
<snip>:/home/kavi/.cabal/bin
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library 

我尝试重新启动计算机,但仍然:

$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library

我正在使用 Ubuntu 14.04.

您应该将 /home/kavi/.cabal/bin 添加到 $PATH 的开头。

which cabal 告诉 shell 将选择执行哪个可执行文件,在我的机器上:

% echo $PATH
/Users/ogre/.local/bin:...

% which cabal
/Users/ogre/.local/bin/cabal