【发布时间】:2014-09-11 08:35:56
【问题描述】:
我刚刚在运行 Mavericks 10.9 的 Mac 上安装了 Haskell 平台。包含的 cabal 版本 (1.16) 已过期,并提示我运行“cabal update”,然后运行“cabal install cabal-install”。这样做会安装 cabal 1.20.0.3,但它会安装在 ~/Library/Haskell 中。这不在我的可执行路径中,因此进一步尝试运行 cabal 会导致从 /usr/bin 执行 1.16 版,该版本未更新。
我想我可以通过将我的可执行路径更改为包含 ~/Library/Haskell 来解决这个问题,优先级高于 /usr/bin。但我真的不想这样做。而且我不想在我的系统上的隐藏位置维护多个过时的软件版本。如何让 cabal 在正确的位置更新可执行文件?使用 sudo 运行没有帮助。
编辑:更新了我的路径,但不知何故它仍然不起作用:
[76 of 76] Compiling Main ( Main.hs, dist/build/cabal/cabal-tmp/Main.o )
Linking dist/build/cabal/cabal ...
Warning: No documentation was generated as this package does not contain a library. Perhaps you want to use the --executables flag.
Installing executable(s) in
/Users/lethe/Library/Haskell/ghc-7.6.3/lib/cabal-install-1.20.0.3/bin
Installed cabal-install-1.20.0.3
Updating documentation index /Users/lethe/Library/Haskell/doc/index.html
euclid:Public lethe$ which cabal
/Users/lethe/Library/Haskell/bin/cabal
euclid:Public lethe$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
euclid:Public lethe$ echo $PATH
/Users/lethe/Library/Haskell/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin
它声称它已将 cabal 1.20.0.3 安装到 ~/Library/Haskell,并且由于路径已更新,它声称它将执行 ~/Library/Haskell 中的版本,但它还声称执行的版本是 1.16。 0.2。这是怎么回事?
我也试过 ghc-pkg recache 和 cabal install cabal-install-1.20.0.3 (指定版本号),但执行的版本仍然是 1.16.0.2
【问题讨论】:
-
同样的问题...有更新吗?
-
@Coffee_Table:没有更新。我放弃了。
-
@Coffee_Table:我敢肯定这对你来说太晚了,但显然我也在 GitHub 上发布了这个问题(然后马上忘记了我做过)。 github.com/haskell/cabal/issues/2003。开发人员发布了一个我认为是正确的答案。由于我不再处理此问题,因此我不对其进行测试。
标签: cabal haskell-platform cabal-install