当涉及外部包时,堆栈构建以“无法找到包”错误退出

时间:2017-10-20 09:16:06

标签: haskell-stack

我刚开始学习Haskell。我选择通过堆栈在我的PC上使用它。第一天,我与Chris Allen's tutorial合作,并被卡在stack build部分。该命令退出时出现错误,如下所示:

C:\Users\USER\haskellProjects\bassbull>stack build
primitive-0.6.2.0: download
integer-logarithms-1.0.2: download
primitive-0.6.2.0: configure
primitive-0.6.2.0: build
integer-logarithms-1.0.2: configure
integer-logarithms-1.0.2: build
primitive-0.6.2.0: copy/register
integer-logarithms-1.0.2: copy/register
Progress: 2/11Running C:\Users\USER\AppData\Local\Programs\stack\x86_64-windows\
ghc-8.0.2\bin\ghc-pkg.EXE --user --no-user-package-db --package-db C:\sr\snapsho
ts\1602ab97\pkgdb describe --simple-output integer-logarithms --expand-pkgroot e
xited with ExitFailure 1

WARNING: cache is out of date: C:/Users/USER/AppData/Local/Programs/stack/x86_64
-windows/ghc-8.0.2\lib\package.conf.d\package.cache
ghc will see an old view of this package db. Use 'ghc-pkg recache' to fix.
ghc-pkg.EXE: cannot find package integer-logarithms

Running C:\Users\USER\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\
ghc-pkg.EXE --user --no-user-package-db --package-db C:\sr\snapshots\1602ab97\pk
gdb describe --simple-output primitive --expand-pkgroot exited with ExitFailure
1

WARNING: cache is out of date: C:/Users/USER/AppData/Local/Programs/stack/x86_64
-windows/ghc-8.0.2\lib\package.conf.d\package.cache
ghc will see an old view of this package db. Use 'ghc-pkg recache' to fix.
ghc-pkg.EXE: cannot find package primitive

C:\Users\USER\haskellProjects\bassbull>stack exec ghc-pkg recache

C:\Users\USER\haskellProjects\bassbull>stack build
integer-logarithms-1.0.2: configure
integer-logarithms-1.0.2: build
primitive-0.6.2.0: configure
primitive-0.6.2.0: build
integer-logarithms-1.0.2: copy/register
primitive-0.6.2.0: copy/register
Progress: 2/11Running C:\Users\USER\AppData\Local\Programs\stack\x86_64-windows\
ghc-8.0.2\bin\ghc-pkg.EXE --user --no-user-package-db --package-db C:\sr\snapsho
ts\1602ab97\pkgdb describe --simple-output primitive --expand-pkgroot exited wit
h ExitFailure 1

ghc-pkg.EXE: cannot find package primitive

Running C:\Users\USER\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\
ghc-pkg.EXE --user --no-user-package-db --package-db C:\sr\snapshots\1602ab97\pk
gdb describe --simple-output integer-logarithms --expand-pkgroot exited with Exi
tFailure 1

ghc-pkg.EXE: cannot find package integer-logarithms

C:\Users\USER\haskellProjects\bassbull>

在尝试其他教程之后,我得出结论,只有在尝试安装外部软件包和依赖项时才会发生这种情况。

我需要帮助克服我面临的挑战,因为我非常热衷于学习编码(和编码)Haskell。

1 个答案:

答案 0 :(得分:0)

问题已经解决。非常感谢Haskell-stack google论坛上的Michael Sloan和Google +上的Yuji Yamamoto on

我只会记录我在这里所做的事情:

  • 我觉得我的防病毒软件搞砸了(回想起来,星期几开始出现的迹象)所以我更新了它。
  • 我干净地卸载了堆栈,搜索了相关文件/文件夹并将其删除。
  • 然后我重新安装了堆栈。
  • 然后又回到问题中提到的教程(不,Stack Overflow,我没有10分,谢谢!)。
  • 我确保在第一次执行stack setup时连接到稳定的网络,以便轻松下载所有内容(另一次,连接在获取ghc和msys时无休止地超时)。
  • 完成后,我重新启动了shell。
  • ... stack build已成功完成。

现在,我不知道究竟是什么给了我,但我很乐意。如果它有帮助,我(并且我仍然)在64位windows7 PC上使用stack-1.5.1。

现在我没有为F#转储haskell。