---
category: help
layout: help
mirrorid: hackage
---

## hackage 镜像使用帮助

### 初次使用

先执行

```
cabal update
```

待生成`~/.cabal/config`之后`Ctrl+C`, 然后进行下一步。

### Cabal ≥ 1.2.4 (GHC 8.0)

修改 `~/.cabal/config`，加入

```
repository mirrors.tuna.tsinghua.edu.cn
  url: http://mirrors.tuna.tsinghua.edu.cn/hackage
```

为了访问速度，可以选择把官方仓库注释掉:

```
repository hackage.haskell.org
  url: http://hackage.haskell.org/
  -- secure: False
  -- root-keys:
  -- key-threshold:
```

### Cabal < 1.2.4

修改`~/.cabal/config`, 将此行

```
remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
```
注释掉，改为

```
remote-repo: mirrors.tuna.tsinghua.edu.cn:http://mirrors.tuna.tsinghua.edu.cn/hackage
-- remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
```

注意，此处的注释是两条短线`--`.

再执行`cabal update`, 即可使用`cabal`安装包了。

### 在 [`stack`](https://github.com/commercialhaskell/stack) 中使用

修改`~/.stack/config.yaml`, 加上:

```yaml
package-indices:
  - name: Tsinghua
    download-prefix: http://mirrors.tuna.tsinghua.edu.cn/hackage/package/
    http: http://mirrors.tuna.tsinghua.edu.cn/hackage/00-index.tar.gz
```
