我喜欢Haskell中的编码,但是我经常在一台无法安装软件的计算机上,并且对你可以运行的内容有一些限制。我想编写Haskell代码并在此计算机上进行测试。有没有人知道Haskell的版本,解释或编译,用Java,JavaScript,Ruby,Python或Mac上的默认安装中提供的其他解释语言编写?可以在用户级安装的独立版本的Haskell也可以,但是自己编译Haskell不是一种选择。
答案 0 :(得分:11)
GHC二进制发行版(作为tarball,而不是安装程序)都可以轻松地在本地安装。
./configure --prefix=$HOME/ghc
make install
然后更新您的路径以包含$ HOME / ghc / bin
如果你想要cabal,请从hackage获取tarball,然后解压缩并运行bootstrap.sh。
GHC作为本地安装非常有效。事实上,我从未将其用作系统安装。
答案 1 :(得分:3)
我也在我的工作站上执行此操作,因此我所使用的发行版(在我的情况下是Debian)并没有突然开始升级,而我没有注意到一个简单的apt-get upgrade
。
此解决方案会安装完整的ghc
和haskell-platform
以及~/.cabal
前缀。
首先,我有一个~/local
目录,我将其用于将自定义编译的程序放在我的主目录中。我通常不喜欢sudo make install
步骤,因为我给了我的系统一些随机Makefile
root权限,这让我感到不安。
然后我从ghc site下载ghc二进制发行版。请注意,我将您链接到7.4.2。我听说在Mac OS X上有一些段错误,但我不知道细节。您应该检查出来或取而代之的是newer ghc,但请注意,hackage上有许多软件包尚未修复以与7.6一起使用。另外,忽略“停止!”警告,你是1%谁真正想要一个非分布式GHC二进制文件。
您可以直接进入ghc目录,然后执行./configure --prefix=$HOME/local/haskell
左右,然后执行make install
(无需编译,只需要安装,而不是编译。)
此时,您应该在路径中添加~/local/haskell/bin
。 Here's我在~/.zshrc
中添加的代码,它会将所有~/local/*/bin
目录添加到您的路径中。
然后你可以获得Haskell平台,并进行相同的./configure --prefix=$HOME/local/haskell && make && make install
舞蹈。此步骤将需要编译。这意味着您将需要安装一些头库。我发现必要的随机openGL标题特别烦人。
您当然也可以跳过haskell-platform,直接下载cabal-install,然后安装您需要的内容。在任何情况下,您都应该忘记将~/.cabal/bin
添加到$PATH
!
做一个cabal update
,你应该好好去。
注意:GHC的二进制分发需要一个重要的部分,有时可能是旧Linux系统上的一个皮塔:libgmp。它与它动态链接,如果你在OS X上找不到关于共享libgmp的错误,你可以......好吧,在评论中提出这个问题,我将解释如何到达那里。基本上,你必须自己编译libgmp + deps。
但我不认为这应该是OS X上的一个问题。这只是我试过的几个旧debian盒子的问题。
答案 2 :(得分:2)
对于单个文件,您可以使用codepad。