Update guide-zh_CN.md about install

pull/129/head
Amorites 6 years ago committed by GitHub
parent 1dcf4429be
commit 213dcb9dec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -30,168 +30,22 @@ Haskell[邮件群组](https://wiki.haskell.org/Mailing_lists)。
以上部分内容来自[the Recurse Center手册](https://www.recurse.com/manual)。感谢他们愿意公开分享!
# 什么是Haskell、GHC和Cabal
# 安装Haskell
Haskell的规格可在下面这篇报告找到此报告最新版本为2010版
[onlinereport](http://www.haskell.org/onlinereport/haskell2010/)
## 通过 Stack 使用 Haskell
## GHC
[GHC](http://www.haskell.org/ghc/)是Haskell语言的主流工具选择。它包含编译器、REPL(解释器)、套件管理器,与其他辅助工具。
获取 [Stack](http://haskellstack.org) 来安装 GHC 构建你的项目。
## Cabal
[Cabal](https://www.haskell.org/cabal/download.html)可用来做专案管理与套件相依性解析。
这会是你用来安装专案、套件的主要工具,其常见的做法是安装到专属的沙箱(cabal sandbox)中。
如果你从未了解过 Stack 并需要它的概述,请看这个[comprehensive Stack video tutorial](https://www.youtube.com/watch?v=sRonIB8ZStw)。
Cabal相当于Ruby Bundler、Python pip、Node NPM、Maven等等。你可以用GHC来打包套件Cabal则可用来选择你想要安装的版本。
## 不要安装 HASKELL PLATFORM
# 环境设定
不要遵循 Haskell.org 里面的说明,直接使用 Stack。
## Ubuntu
[这个PPA](http://launchpad.net/~hvr/+archive/ghc)很棒我在我所有的Linux开发与构建用机器上都靠它。
### 为什么不用 platform?
详细设定步骤如下:
https://mail.haskell.org/pipermail/haskell-community/2015-September/000014.html
```bash
$ sudo apt-get update
$ sudo apt-get install python-software-properties # v12.04 及以下
$ sudo apt-get install software-properties-common # v12.10 及以上
$ sudo add-apt-repository -y ppa:hvr/ghc
$ sudo apt-get update
$ sudo apt-get install cabal-install-1.20 ghc-7.8.4 happy-1.19.4 alex-3.1.3
```
接着,把以下路径加入你的`$PATH`环境变量中(bash\_profile, zshrc, bashrc, etc)
```
~/.cabal/bin:/opt/cabal/1.20/bin:/opt/ghc/7.8.4/bin:/opt/happy/1.19.4/bin:/opt/alex/3.1.3/bin
```
*注:* 你不妨把`.cabal-sandbox/bin`加到你的路径中。如此一来,只要你使用沙箱(cabal sandbox)开发,并且
留在专案的工作路径中,你就可以在命令行中轻易取用你正在开发的二进制档。
## Debian
### 使用Ubuntu PPA
如果不打算使用官方提供的稳定版本你可以用上面提过和Ubuntu一样的流程但会需要在下面这个命令后
`sudo add-apt-repository -y ppa:hvr/ghc` 加上:
```bash
$ sudo sed -is/jessie/trusty/g /etc/apt/sources.list.d/hvr-ghc-jessie.list
```
其他的Debian版本只需将`jessie`都换成你的版本名即可。
如果`/etc/apt/sources.list.d/hvr-ghc-jessie.list`不存在,那么`/etc/apt/sources.list`应该会有:
deb http://ppa.launchpad.net/hvr/ghc/ubuntu jessie main
把上列`jessie`换成`trusty`即可。
### 自行编译
请参照这篇为Mac OS X所撰的指南
请注意:
- 根据你个人的工作环境设定ghc时指定目录前缀(prefix)
- 不要直接下载`cabal-install`的二进位档,请下载源码并执行`bootstrap.sh`脚本。
## Fedora 21
从非官方套件库安装Haskell 7.8.4 (Fedora 22以上已经有官方版本)
```bash
$ sudo yum-config-manager --add-repo \
> https://copr.fedoraproject.org/coprs/petersen/ghc-7.8.4/repo/fedora-21/petersen-ghc-7.8.4-fedora-21.repo
$ sudo yum install ghc cabal-install
```
根据[petersen/ghc-7.8.4 copr page](https://copr.fedoraproject.org/coprs/petersen/ghc-7.8.4/)此版本的ghc
无法与Fedora/EPEL ghc并存。
## Arch Linux
从官方套件库安装:
```bash
$ sudo pacman -S cabal-install ghc happy alex haddock
```
## Gentoo
你可以透过Portage来分别安装Haskell Platform的各个组件。如果你使用`ACCEPT_KEYWORDS=arch`,而非`ACCEPT_KETWORDS=~arch`
Portage会弄个老旧的Haskell给你。因此举凡用了`ACCEPT_KEYWORDS=arch`,请把下面这几行加进去:
dev-haskell/cabal-install
dev-lang/ghc
接着请执行:
```bash
$ emerge -jav dev-lang/ghc dev-haskell/cabal-install
```
Gentoo会留一个『稳定』(换言之:老旧)的`cabal-install`在Portage的套件树中你可以利用这个`cabal-install`来安装
新版的`cabal-install`。请注意,以下反斜线是必须的:
```bash
$ \cabal update # The backslashes
$ \cabal install cabal-install # are intentional
```
如此一来你便通过Protage在系统中安装了cabal又在你的个人环境中安装了最新的`cabal-install`。
下一步是确定每次你在终端机执行`cabal`时你的shell都是执行你个人环境中的最新版本
```bash
PATH=$PATH:$HOME/.cabal/bin
alias cabal="$HOME/.cabal/bin/cabal"
```
不知道你的shell是哪一个那你很可能用的是Bash。如果你用的是Bash你需要编辑`~/.bashrc`。
如果是Z-shell则是`~/.zshrc`,可用以下面命令来查询:
```bash
echo $SHELL | xargs basename
```
例如我用的是zsh所以上列命令会输出`zsh`。
当以上都完成,请再另外安装两个工具:`alex`和`happy`
```bash
$ cabal install alex happy
```
恭喜你有了一个正常运作的Haskell
## Mac OS X
### 10.9
请安装[GHC for Mac OS X](http://ghcformacosx.github.io/)它包含了GHC与Cabal。安装完成后
它会指示你如何将GHC与Cabal加入你的系统路径。
### 10.6-10.8
请下载这个[tarball](https://www.haskell.org/platform/download/2014.2.0.0/ghc-7.8.3-x86_64-apple-darwin-r3.tar.bz2)
并安装其包含的二进制档。
## Windows
- [windows minimal GHC installer](http://neilmitchell.blogspot.com/2014/12/beta-testing-windows-minimal-ghc.html)
它可以用来编译`network`等套件虽然严格说它还在beta但应该足够让任何读这篇导览的人使用。
别忘了要用系统管理者的身份来安装因为它需要新增到Program Files的权限。
## 其他Linux使用者
下载cabal与ghc的最新版二进制档。
- [GHC](http://www.haskell.org/ghc/).
- [Cabal](https://www.haskell.org/cabal/download.html).
# 主要学习课程

Loading…
Cancel
Save