gpt4 book ai didi

cabal - mac 上的 Haskell 平台将 cabal 安装在/usr/bin 中,但是 cabal 安装在 ~/Library/Haskell 中

转载 作者:行者123 更新时间:2023-12-01 03:48:33 27 4
gpt4 key购买 nike

我刚刚在运行 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

最佳答案

有几种解决方案:

1) 尝试更新 PATH 变量,使其首先在您的本地路径中查找。
(将此添加到您的 .bash_profile:export PATH=$HOME/Library/Haskell/bin:$PATH。获取配置文件,然后重试 whereis 命令以确定您正在使用哪个二进制文件,它应该使用您的本地二进制文件)

虽然这对我不起作用。我不得不采取下一步来使其工作:

2) 暴力修复:删除/usr/bin/cabal。

希望这可以帮助。

关于cabal - mac 上的 Haskell 平台将 cabal 安装在/usr/bin 中,但是 cabal 安装在 ~/Library/Haskell 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24854931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com