用户级别的Haskell

问题描述 投票:0回答:3

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

macos haskell interpreter
3个回答
11
投票

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

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

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

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

GHC 作为本地安装效果非常好。 事实上,我从来没有用它作为系统安装。


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
添加到您的路径中。 这是我放入 ~/.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
投票
对于单个文件,您可以使用

codepad

© www.soinside.com 2019 - 2024. All rights reserved.