我喜欢用 Haskell 进行编码,但我经常使用无法安装软件的计算机,并且对可以运行的内容有一些限制。我想编写 Haskell 代码并在这台计算机上测试它。有谁知道 Haskell 的版本,解释或编译,用 Java、JavaScript、Ruby、Python 或 Mac 上默认安装的其他解释语言编写?可以在用户级别安装的独立版本的 Haskell 也可以工作,但我自己编译 Haskell 不是一个选择。
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
添加到您的路径中。 这是我放入 ~/.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 机器上的问题。
codepad。