我正在尝试使用量子编程语言Quipper,由于我正在使用的GHC版本,我遇到了问题:
root@ubuntu:~$ apt-show-versions ghc
ghc:amd64/xenial 7.10.3-7 uptodate
ghc:i386 not installed
事实证明,7.10是Quipper无法编译的唯一版本。
然后我发现显然安装Haskell 8.0的only way使用的是haskell-stack。好吧,我从来没有在堆栈上安装过什么东西,所以这样就可以了。
所以我使用this website上的说明安装haskell-stack,然后运行命令:
root@ubuntu:~$ stack setup
root@ubuntu:~$ stack update
root@ubuntu:~$ stack install ghc
最后一个命令返回以下内容:
Didn't see ghc-8.0.2 in your package indices.
Updating and trying again.
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpc Selected mirror https://s3.amazonaws.com/hackage.fpcomplete.com/
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpc Downloading timestamp
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpc Downloading snapshot
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpc Updating index
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpc Updated package list downloaded
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpc Populated index cache.
The following package identifiers were not found in your indices: ghc-8.0.2
Perhaps you meant AAI, AAI, AAI, AES, AES, AES, AES, AES, AES, or AES?
所以,再次快速检查一下:
root@ubuntu:~$ apt-show-versions ghc
ghc:amd64/xenial 7.10.3-7 uptodate
ghc:i386 not installed
不,仍然是7.10。还试图从this website下载包。包裹未被提取,因此这是一个好兆头。冲洗并重复上述命令,但仍然没有。然后我编辑了stack.yaml文件说:
resolver: lts-9.14
resolver: ghc-8.0.2
绝对没有。我错过了什么步骤?当人们基本上说'#34;堆栈为你做了一切时,它令人沮丧。而且我喜欢"我到底应该做什么?"
修改
如上所述,从haskell.org下载8.0.2软件包无法提取存档:
答案 0 :(得分:2)
不要直接跳转到安装二进制文件。虽然正如其他人所说,堆栈不是唯一的方法,但它肯定是更容易的方式之一。
首先,stack setup
实际上是根据它找到的解析器为您下载GHC。如果您不在堆栈项目中,它将默认为全局堆栈配置。另一方面,stack install
用于安装包。这意味着正在stack install ghc
尝试在堆栈上寻找一个名为ghc的包,其中我认为没有。
要运行已安装堆栈的GHC ,您将执行stack ghc
并获得GHCi会话stack ghci
(通常只是堆栈前缀)。
您还可以运行常规stack exec -- ..
来运行带有堆栈路径变量的命令。例如。 stack exec -- ghci
也可以在此处使用,或stack exec -- ghc --version
获取GHC版本。
答案 1 :(得分:1)
GHC的二进制分布可以从GHC HQ获得:
任何建议任何一个工具是获得GHC所必需的都是错误的。
编辑:例如,在nix计算机上,可以执行以下操作(约,未测试):
wget https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz
tar xJf ghc-8.2.2*
cd ghc*
./configure --prefix=$HOME
make install
如果您不喜欢便携式外壳并且真的想使用apt,那么请考虑使用非常受欢迎的hvr's PPA。