首页 文章

将平台从8.0.1升级到8.0.2后,堆栈无法正常工作

提问于
浏览
7

升级haskell平台包后,stack命令不起作用 .

$ stack path
No compiler found, expected minor version match with ghc-8.0.1 (x86_64) (based on resolver setting in /home/eii/exercism/haskell/linked-list/stack.yaml).
To install the correct GHC into /home/eii/.stack/programs/x86_64-linux/, try running "stack setup" or use the "--install-ghc" flag.
$

我尝试了堆栈设置,但它正在尝试下载旧的GHC(ghc-8.0.1) . 我刚刚安装了Haskell平台8.0.2(haskell-platform-8.0.2-unknown-posix-full-x86_64.tar.gz) . 我使用的是64位Linux .

$ stack setup
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
ghc-8.0.1:   15.69 MiB / 108.01 MiB ( 14.52%) downloaded...^Cuser interrupt
$

我可以用ghc-8.0.2编译并且ghci工作正常..但我不能使用堆栈也不能安装新包 .

$ stack update
Downloading package index from https://s3.amazonaws.com/hackage.fpcomplete.com/00-index.tar.gz
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpcomplete.com/00-index.tar.gz) ...
$ stack upgrade
Current Stack version: 1.3.2, available download version: 1.3.2
Skipping binary upgrade, your version is already more recent
$ which stack
/usr/local/bin/stack
$ ls -la /usr/local/bin/stack
lrwxrwxrwx. 1 root root 45 Feb  1 18:39 /usr/local/bin/stack -> /usr/local/haskell/ghc-8.0.2-x86_64/bin/stack
$ which ghc
/usr/local/bin/ghc
$ ls -la /usr/local/bin/ghc
lrwxrwxrwx. 1 root root 43 Feb  1 18:39 /usr/local/bin/ghc -> /usr/local/haskell/ghc-8.0.2-x86_64/bin/ghc
$

请帮忙 .

1 回答

  • 1

    我前几天在Arch Linux 4.17.4上遇到过这个问题 . 错误是:

    No setup information found for ghc-8.4.3 on your platform.
    This probably means a GHC bindist has not yet been added for OS key 'linux64-ncurses6', 'linux64-tinfo6'.
    Supported versions: ghc-7.8.4, ghc-7.10.2, ghc-7.10.3, ghc-8.0.1, ghc-8.0.2, ghc-8.2.1, ghc-8.2.2, ghc-8.4.1, ghc-8.4.2
    

    作为一种解决方法,我编辑了 stack.yml 进行更改

    lts-12.0
    

    lts-11.15
    

相关问题