Ubuntu 下安装配置 Haskell 环境

Contents
  1. 1. 安装编译所需库
  2. 2. 安装 ghcp
  3. 3. 设置环境变量
  4. 4. 创建一个 Project
  5. 5. 安装 Stack (可选)
  6. 6. 说明
    1. 6.1. 安装内容
    2. 6.2. 工作流
    3. 6.3. 安装的包
  7. 7. References

本文最后更新于 2019 年 3 月 25 日


本文以 Ubuntu 18.04 为例,介绍如何安装配置 Haskell 环境。


安装编译所需库

1
sudo apt update && sudo apt install build-essential libgmp3-dev zlib1g-dev libnuma-dev -y

安装 ghcp

执行如下命令:

1
curl https://raw.githubusercontent.com/haskell/ghcup/master/bootstrap-haskell -sSf | sh

设置环境变量

1
2
. "$HOME/.ghcup/env"
echo '. $HOME/.ghcup/env' >> "$HOME/.bashrc"

创建一个 Project

1
2
3
mkdir -p ~/Projects/Haskell/myfirst && cd ~/Projects/Haskell/myfirst
cabal init -n --is-executable
cabal v2-run

安装 Stack (可选)

1
curl -sSL https://get.haskellstack.org/ | sh

说明

以上,ghcp 安装了 GHCCabal ,我们又手动安装了 Stack 。大多数书籍都推荐使用 Hskell Platform 的方式配置环境,那么这和单独用 Stack 安装有和区别呢?根据网络上的讨论,总结如下。

安装内容

无论用 Haskell Platform 还是 Stack ,都可以提供你所需要的一切。

工作流

使用方法上, Stack 有一点点特殊,对于初学者,可使用 Haskell Platform 。

以下是使用 Stack 的示例:

1
2
echo 'main = putStrLn "Hello, world!"' > Hello.hs
stack ghc -- Hello.hs
[1 of 1] Compiling Main             ( Hello.hs, Hello.o )
Linking Hello ...
1
./Hello
Hello, world!
1
stack exec bash
1
ghci

安装的包

安装的包互不影响。

References

Downloads

Download Haskell Platform For Linux

Install/upgrade - The Haskell Tool Stack

haskell/ghcup: Painless installation of GHC toolchain

The Haskell Tool Stack

How to install Haskell (Platform or Stack) in 2018 on Linux?

Manual libnuma install required