On Mon, Sep 5, 2016 at 12:40 PM, Simon Peyton Jones via ghc-devs <ghc-devs@haskell.org> wrote:
bash$ which cabal
/home/simonpj/.cabal/bin/cabal
Maybe I need 1.24. Which claims to be installed. But WHERE is it installed?
Try "type cabal". "which" has a nasty tendency to show you what the next shell you open (or sometimes the next time you login) will see; shells remember what they've already seen, so it's probably still running the old one (likely in /usr/bin or /usr/local/bin). POSIX requires "type" to show what the *current* shell (thinks it) knows, not what some future shell will see.
"hash -r" should work to reset the shell's idea of where cabal is, if "type" says it's running a different cabal.