4

我喜欢在 Haskell 中编码,但经常在我无法安装软件的计算机上使用,并且它对您可以运行的内容有一些限制。我想在这台计算机上编写 Haskell 代码并对其进行测试。有谁知道 Haskell 的版本,解释或编译,用 Java、JavaScript、Ruby、Python 或 Mac 上默认安装中可用的其他解释语言编写的?可以在用户级别安装的独立版本的 Haskell 也可以,但不能自己编译 Haskell。

4

3 回答 3

11

GHC 二进制发行版(以 tarball 形式提供的,而不是安装程序)都可以轻松地在本地安装。

./configure --prefix=$HOME/ghc
make install

然后更新您的路径以包含 $HOME/ghc/bin

如果您想要 cabal,请从hackage获取 tarball ,然后解压缩并运行 bootstrap.sh。

GHC 非常适合本地安装。事实上,我从不将它用作系统安装。

于 2012-09-07T20:50:30.577 回答
3

我也在我的工作站上这样做,这样我所在的发行版(在我的情况下是 Debian)不会突然开始升级东西,而我没有注意到一个简单的apt-get upgrade.

该解决方案安装了一个完整的ghc和前缀。haskell-platform~/.cabal

首先,我有一个~/local目录,用于将自定义编译的程序放在我的主目录中。我通常不喜欢这个sudo make install步骤,因为我给了Makefile我系统的一些随机 root 访问权限,这让我感到恶心。

然后我从ghc 站点下载 ghc 二进制发行版。请注意,我将您链接到 7.4.2。我听说 Mac OS X 上有一些段错误,但我不知道细节。您应该检查一下或获取更新的 ghc,但请注意,有许多关于 hackage 的软件包尚未修复以与 7.6 一起使用。另外,请忽略“停止!” 警告,你是真正想要非发行版 GHC 二进制文件的 1%。

您可以 cd 进入 ghc 目录,然后这样做./configure --prefix=$HOME/local/haskell,然后make install(无需编译,它只是要安装,而不是编译。)

此时,您应该添加~/local/haskell/bin到您的路径。是我放在 my 中的代码,~/.zshrc它将所有~/local/*/bin目录添加到您的路径中。

然后,您可以获得 Haskell 平台,并做同样的./configure --prefix=$HOME/local/haskell && make && make install舞蹈。这一步需要编译。这意味着您将需要安装一些头文件库。我发现必要的随机 openGL 标头特别烦人。

当然你也可以跳过haskell-platform,直接下载cabal-install,然后安装你需要的。在任何情况下,您都应该不要忘记添加~/.cabal/bin到您的$PATH!

做一个cabal update,你应该很高兴。

注意:GHC 的二进制发行版需要一个重要的部分,它有时可能是旧 Linux 系统上的一个 pita:libgmp。它与它动态链接,如果您也遇到有关在 OS X 上找不到共享 libgmp 的错误,您可以……好吧,在评论中提出这个问题,我将解释如何到达那里。基本上,您必须自己编译 libgmp + deps。

但我不认为这应该是 OS X 上的问题。这只是我尝试过的几个旧的 debian 机器上的问题。

于 2012-09-07T20:58:21.063 回答
2

对于单个文件,您可以使用codepad

于 2012-09-07T21:02:16.073 回答