3

我正在尝试在 Windows 上使用堆栈。我克隆了 git repo,运行cabal install --only-dependencies, cabal configure, cabal build. 一切正常

然后dist\build\Stackage\stackage.exe select

Loading Haskell Platform
Loading package database
Narrowing package database
Printing build plan to build-plan.log
Checking for bad versions
authenticate-oauth-1.4.0.8 (FP Complete <michael@fpcomplete.com> @yesodweb) cannot use:
- RSA-2.0 -- ==1.2.*

threepenny-gui-0.4.1.0 (FP Complete <michael@fpcomplete.com>) cannot use:
- aeson-0.7.0.2 -- ==0.6.*

stackage.exe: Conflicting build plan, exiting

自述文件提到 *.sh 脚本,例如./patching/scripts/create-tarballs.sh. 我尝试过但未能使用 cygwin 运行它们。它们重要吗?

如何在 Windows 上使用堆栈?

编辑我能够./patching/scripts/create-tarballs.sh使用 msys 运行脚本。但现在错误信息是:

Loading Haskell Platform
Loading package database
stackage.exe: Missing cabal file "MFlow-0.3.3/MFlow.cabal" in tarball: "patching/tarballs\\MFlow-0.3.3.tar.gz"

我检查了存档:cabal 文件在里面。

4

1 回答 1

1

由于一些限制,不建议 Windows 用户通过 Haskell 平台安装程序安装 stackage:

  1. 在 Windows 上,它不提供完整的环境(缺少 MSYS)。
  2. 通过在全局包数据库中放置大量包,Haskell 平台安装更容易损坏。
  3. 包版本的选择与很多常用包的需求有冲突。
  4. 该平台包含的某些软件包版本存在已知且严重的错误,并且无法可靠地升级。

至于解决方案,先卸载Haskell平台,然后通过以下链接安装minghc for windows:https ://github.com/fpco/minghc#readme

打开命令提示符运行cabal updatecabal install alex happy. 最后,安装堆栈。


2015 年更新

Commercial Haskell 团队为项目开发开发了一个新工具——Stack,它可以与最新的 Haskell 平台(7.10.2)一起安装。

特点包括:

  • 在隔离位置自动安装 GHC。
  • 安装项目所需的包。
  • 构建您的项目。
  • 测试你的项目。
  • 对您的项目进行基准测试。

我已经为haskell web项目尝试过,它运行顺利。

于 2015-04-06T03:44:41.177 回答