我喜欢在 Haskell 中编码,但经常在我无法安装软件的计算机上使用,并且它对您可以运行的内容有一些限制。我想在这台计算机上编写 Haskell 代码并对其进行测试。有谁知道 Haskell 的版本,解释或编译,用 Java、JavaScript、Ruby、Python 或 Mac 上默认安装中可用的其他解释语言编写的?可以在用户级别安装的独立版本的 Haskell 也可以,但不能自己编译 Haskell。
3 回答
GHC 二进制发行版(以 tarball 形式提供的,而不是安装程序)都可以轻松地在本地安装。
./configure --prefix=$HOME/ghc
make install
然后更新您的路径以包含 $HOME/ghc/bin
如果您想要 cabal,请从hackage获取 tarball ,然后解压缩并运行 bootstrap.sh。
GHC 非常适合本地安装。事实上,我从不将它用作系统安装。
我也在我的工作站上这样做,这样我所在的发行版(在我的情况下是 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 机器上的问题。
对于单个文件,您可以使用codepad。