29

我似乎无法在我的 Mac (10.6.8) 上安装一些 Haskell 包。我首先尝试了 Happstack,但失败了,然后我尝试了 Snap。

有时当我运行 ghci 时会出现分段错误。

其他时候它可以工作并且是这样的:

GHCi, version 7.4.2: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude>

尝试获取 Snap 时:

....
....
....
Loading package vector-0.10.0.1 ... linking ... done.
Loading package zlib-0.5.4.0 ... linking ... done.
Loading package zlib-bindings-0.1.1.3 ... linking ... done.
Loading package zlib-enum-0.2.3 ... linking ... done.
Loading package snap-core-0.9.3.1 ... linking ... done.
Loading package snap-server-0.9.3.3 ... linking ... done.
Loading package directory-tree-0.11.0 ... linking ... done.
cabal: Error: some packages failed to install:
snap-0.11.2 failed during the building phase. The exception was:
ExitFailure 11

我已经多次看到这个问题,但没有什么能真正为我解决这个问题。有任何想法吗?

4

7 回答 7

43

2021 年 5 月 22 日更新

您是否尝试过使用自制软件?它为您处理依赖项。

使用 homebrew,您可以使用brew命令安装ghccabal-install.

$ brew install ghc cabal-install
==> Downloading https://ghcr.io/v2/homebrew/core/ghc/manifests/8.10.4
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/ghc/blobs/sha256:965f94c14b56e3db7b239860e0a1d577be0b27caf8adb6212710a7430ce723d3
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:965f94c14b56e3db7b239860e0a1d577be0b27caf8adb6212710a7430ce723d3?se=2021-05-23T05%3A15%3A00Z&sig=fkH7sUY44VCLV8hI%2BtZT%2B
######################################################################## 100.0%
==> Pouring ghc--8.10.4.big_sur.bottle.tar.gz
==> /usr/local/Cellar/ghc/8.10.4/bin/ghc-pkg recache
  /usr/local/Cellar/ghc/8.10.4: 6,907 files, 1.5GB
==> Downloading https://ghcr.io/v2/homebrew/core/cabal-install/manifests/3.4.0.0
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/cabal-install/blobs/sha256:2c0c5cc90d4739515721557f8e9c02783b3b5f106033c5c09241657b4418b21f
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:2c0c5cc90d4739515721557f8e9c02783b3b5f106033c5c09241657b4418b21f?se=2021-05-23T05%3A15%3A00Z&sig=O7ylxHgq42YVADlzTacdRfY7W
######################################################################## 100.0%
==> Pouring cabal-install--3.4.0.0.big_sur.bottle.tar.gz
  /usr/local/Cellar/cabal-install/3.4.0.0: 7 files, 39.6MB

安装后,您应该能够运行:

$ ghc
ghc: no input files
Usage: For basic information, try the `--help' option.

除了 Haskell 解释器,ghci:

$ ghci
GHCi, version 8.10.4: https://www.haskell.org/ghc/  :? for help
Prelude>

希望这可以帮助!

于 2013-03-29T18:49:03.207 回答
30

brew install haskell-platform不再支持。你可能想要

错误:没有适用于 haskell-platform 的公式
我们不再打包 haskell-platform。考虑安装 ghc 和 cabal-install:
brew install ghc cabal-install

于 2014-09-11T17:22:49.183 回答
13

由于haskell-platformMac 的 homebrew 已弃用,您可以brew install ghc cabal-install改用。我在 Yosemite 上做了,大约花了一分钟……</p>

> $ brew install ghc cabal-install                                             
==> Downloading https://homebrew.bintray.com/bottles/ghc-7.10.1_1.yosemite.bottl
######################################################################## 100.0%
==> Pouring ghc-7.10.1_1.yosemite.bottle.tar.gz
  /usr/local/Cellar/ghc/7.10.1_1: 5423 files, 821M
==> Downloading https://homebrew.bintray.com/bottles/cabal-install-1.22.2.0.yose
######################################################################## 100.0%
==> Pouring cabal-install-1.22.2.0.yosemite.bottle.1.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
  /usr/local/Cellar/cabal-install/1.22.2.0: 6 files, 19M
于 2015-06-19T09:17:47.713 回答
11

这是一个老问题,但考虑到它在 Google 搜索中的排名很高。我就是这样来到这里的。

$ brew update
$ brew install haskell-stack
$ stack --version
$ stack --help # "man stack" gives something completely different
$ stack setup # Install GHC
$ stack ghci

来源:http ://seanhess.github.io/2015/08/04/practical-haskell-getting-started.html

为什么要堆叠而不是阴谋集团?

编辑:

我发现每次我想使用“ghci”时都必须写“stack ghci”很烦人。一个解决方案是简单地将这些行添加到 ~/.bash_aliases 文件中:

alias sghc='stack ghc'
alias sghci='stack ghci'
alias srunhaskell='stack runhaskell'

然后获取要应用的文件:

$ source ~/.bash_aliases

然后我可以运行 ghci 和/或 haskell 运行这些命令,它将使用堆栈版本:

$ sghc [filename]
$ sghci
$ srunhaskell
于 2016-02-06T01:00:53.513 回答
8

更新:2016 年 2 月虽然其他答案很有帮助,但我没有找到完整的最新答案。

安装很简单:

$ brew install ghc cabal-install

我需要执行安装后的一个额外步骤是:

$ cabal update

其次是:

$ cabal install ghc-mod

有关详细信息,请参见此处

哈斯克尔安装

或者,不要使用自制软件进行安装,而是访问Haskell 平台以获取安装程序磁盘映像 - 请注意,Haskell 平台仅与 OS X 10.6 及更高版本兼容。

虽然,作为一般规则,我总是使用自制软件来管理我的依赖项,但对于 Haskell,我的建议(除非你真的知道自己在做什么)只是安装这个二进制文件。这避免了进一步的任何意外。在本地安装后有优秀的文档:file:///Library/Haskell/doc/start.html

不再支持这个问题的流行答案(使用 brew 安装 haskell-platform)。

不支持

于 2016-02-10T23:53:30.127 回答
5

不幸的是,OS X 10.6 不支持 GHC 7.4。下载页面只有 10.7 的安装程序,如您所见,他们是认真的。我从痛苦的经历中知道你的问题——我在你的船上呆了很长时间,除了升级 Mac OS X(或者,大概,降级 GHC,但我真的不想这样做)。我的一位同事确实设法让 7.4.1 在 OS X 10. 5上运行,但她付出了不小的努力(她不得不使用不同版本的 GMP,即 5.0.5,并编辑 GHC 的配置脚本),我从来没有尝试过自己复制它。

最后,您有四个选项,按照简单性大致降序排列:

  1. 使用较旧的 Haskell 平台。这意味着降级到 GHC 7.0.x(不是 GHC 7.2.x——平台中从未有过);但是,对于哪些 GHC 版本在哪些包版本中并没有很好的记录。 维基百科暗示2011.2 是 GHC 7.0.x 的第一个版本,而 2012.2 是 GHC 7.4.x 的第一个版本,所以我会先尝试 2011.4.0.0。
  2. 自行安装 GHC 7.2(在 OS X 上受支持),并放弃 Haskell 平台。这可能会导致头痛,但有可能。不要忘记安装Cabalcabal-install以及平台附带的所有软件包等。
  3. 升级到 OS X 10.7 或 10.8,如果您想进行更全球化(且价格更高)的更改。
  4. 尝试复制我同事的做法。(祝你好运,但这绝对是可能的。)
于 2013-04-01T03:39:42.183 回答
2

2017 年末的回答。我正在运行 macOS Sierra -- 10.12.6 (16G29)。这在我的 MacBook Air 上的安装时间不到五分钟就成功了:

brew cask install haskell-platform

随后ghc --version报道:

Glorious Glasgow Haskell 编译系统,版本 8.2.1

于 2017-10-22T03:34:40.860 回答