Haskell 和 Cabal 在 El Capitan 更新后失踪

Haskell and Cabal missing after El Capitan update

在升级到 OS X El Capitan、Cabal 和 GHC 之后,我的系统上再也找不到了:

-bash: ghc: command not found
-bash: cabal: command not found

我需要做什么才能让 Cabal 和 GHC 在 OS X El Capitan 上工作?

我相信 El Capitan 不允许用户再更改 /usr,这是安装 Haskell 二进制文件的地方。

如果你可以 copy/install 程序进入 /usr/local/bin 它们应该可以从那里开始工作。

如果程序在 /usr/bin 中不再可见,我建议将 HP 重新安装到不同的分区。然后将它们复制到 /usr/local.

让我知道进展如何。

我发现以下方法在包括 El Capitan 在内的所有 OSX 版本上最可靠。

  1. Install Homebrew

  2. 运行 brew install ghc

  3. 运行 brew install cabal-install

这种方法允许您轻松安装最新版本并安装多个版本,并使用 brew switch 命令在它们之间轻松切换。 Haskell 平台缺少这些属性,这就是高级用户倾向于以任何方式避免它的原因。

编辑:现在有一个 released version 解决了这些问题。

这都是由 El Capitan 中新的“rootless security”功能造成的。

您不需要复制或重新安装程序 -- /usr/bin 中的文件始终只是指向 /Library/Frameworks/GHC.framework//Library/Frameworks/HaskellPlatform.framework 中可用内容的符号链接。所以你应该能够从那里再次对它们进行符号链接(这次是/usr/local/bin)。

另见 https://github.com/haskell/haskell-platform/issues/205

希望修复这些问题的新平台版本能尽快发布。