堆栈安装 Yesod 在 GHC 解压缩时失败

Stack install Yesod fails at GHC decompressing

运行 stack install yesod-bin --install-ghc 在 ghc 解压缩时失败并显示消息:"Problem while decompressing C:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4.tar.xz"

我尝试 运行 在 Windows 10 64 位 cmd 上使用最新的 Haskell 平台版本 8.6 使用此命令。5-core-x86_64 在使用 yesod 创建项目后-sqlite 模板。我也尝试过不同的版本,结果相同。 stack install yesod-bin-1.4.11 --install-ghc

> stack install yesod-bin --install-ghc
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
Downloaded ghc-8.4.4.
Downloaded 7z.dll.
Downloaded 7z.exe.
Problem while decompressing C:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4.tar.xz

stack build 重试并在同一点失败。我希望有一些正确的安装。

更新stack setup --verbose输出:

Version 1.9.3, Git revision 40cf7b37526b86d1676da82167ea8758a854953b (6211 commits) x86_64 hpack-0.31.1
2019-06-16 16:47:58.662299: [debug] Checking for project config at: E:\Dev\haskell\dosey\stack.yaml
2019-06-16 16:47:58.666295: [debug] Loading project config file stack.yaml
2019-06-16 16:47:58.675310: [debug] Decoding build plan from: C:\sr\build-plan\lts-12.26.yaml
2019-06-16 16:47:58.678295: [debug] Trying to decode C:\sr\build-plan-cache\lts-12.26.cache
2019-06-16 16:47:58.689295: [debug] Success decoding C:\sr\build-plan-cache\lts-12.26.cache
2019-06-16 16:47:58.696299: [debug] Potential GHC builds: standard
2019-06-16 16:47:58.698299: [debug] Found already installed GHC builds:
2019-06-16 16:47:59.145295: [debug] Trying to setup GHC build: standard
2019-06-16 16:47:59.147298: [info] Preparing to install GHC to an isolated location.
2019-06-16 16:47:59.149296: [info] This will not interfere with any system-level installation.
2019-06-16 16:47:59.151297: [debug] Downloading from https://github.com/commercialhaskell/ghc/releases/download/ghc-8.4.4-release/ghc-8.4.4-x86_64-unknown-mingw32.tar.xz to C:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4.tar.xz ...
2019-06-16 16:47:59.153294: [debug] Will check against sha1 hash: 697db44cdf7fdf1a6d83ada61e36857f2e241e3d
2019-06-16 16:47:59.157298: [debug] Will check against sha256 hash: da29dbb0f1199611c7d5bb7b0dd6a7426ca98f67dfd6da1526b033cd3830dc05
2019-06-16 16:48:00.717297: [info] Already downloaded.
2019-06-16 16:48:00.721299: [debug] Downloading from https://github.com/fpco/minghc/blob/master/bin/7z.dll?raw=true to C:\Users\user\AppData\Local\Programs\stack\x86_64-windowsz.dll ...
2019-06-16 16:48:00.724298: [debug] Will check against sha1 hash: 168a288d4456f0473f66e86a2d6fec4eb6f4b993
2019-06-16 16:48:00.729295: [info] Already downloaded.
2019-06-16 16:48:00.731294: [debug] Downloading from https://github.com/fpco/minghc/blob/master/bin/7z.exe?raw=true to C:\Users\user\AppData\Local\Programs\stack\x86_64-windowsz.exe ...
2019-06-16 16:48:00.738296: [debug] Will check against sha1 hash: 187dff8a3327da87050f678579816e5bae40c632
2019-06-16 16:48:00.742294: [info] Already downloaded.
2019-06-16 16:48:00.744297: [debug] Run process: C:\Users\user\AppData\Local\Programs\stack\x86_64-windowsz.exe x -oC:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4-tmp1496\ -y C:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4.tar.xz
2019-06-16 16:48:02.169297: [debug] Process finished in 1423ms: C:\Users\user\AppData\Local\Programs\stack\x86_64-windowsz.exe x -oC:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4-tmp1496\ -y C:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4.tar.xz
Problem while decompressing C:\Users\user\AppData\Local\Programs\stack\x86_64-windows\ghc-8.4.4.tar.xz

另一个 cabal 安装尝试显示网络包根本不愿意在 Windows 中编译,至少在通用命令提示符 (cmd) 中是这样,但它需要 MingW、MSys 或 Cygwin。我尝试了后者进行 cabal 自我更新,它成功了。然后仍然在 Cygwin 中,我再次尝试堆栈安装,它成功了。

不幸的是,stack 命令的输出没有提供任何针对 Cygwin 的提示,让我一时不知所措。然而,在 Cygwin 中,Yesod 构建并启动,并且演示网站正常运行。也许一些针对通用 windows 命令提示符的强调可以帮助避免这种误解。