我正在尝试在 Windows 上使用 stackage。我克隆了 git 存储库,运行了 cabal install --only-dependencies
、cabal configure
、cabal build
。一切正常
然后 dist\build\Stackage\stackage.exe 选择
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 上使用堆栈?
编辑 我能够使用 msys 运行 ./patching/scripts/create-tarballs.sh
脚本。但是现在错误信息是:
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 文件在里面。
最佳答案
由于某些限制,不建议 Windows 用户通过 Haskell Platform 安装程序安装 stackage:
- 在 Windows 上,它不提供完整的环境(缺少 MSYS)。
- 通过在全局包数据库中放置大量包,Haskell 平台安装更容易损坏。
- 软件包版本的选择与许多常用软件包的需求存在冲突。
- 平台中包含的某些软件包版本存在已知的严重错误,无法可靠地升级。
至于克服的解决方案,先卸载Haskell平台,然后通过以下链接安装minghc for windows:https://github.com/fpco/minghc#readme
打开命令提示符运行 cabal update
和 cabal install alex happy
。
最后,安装 stackage。
2015 年更新
Commercial Haskell 小组开发了一种用于项目开发的新工具 -- Stack , 它可以与最新的 Haskell 平台 (7.10.2) 一起安装。
功能包括:
- 在隔离位置自动安装 GHC。
- 安装项目所需的包。
- 构建您的项目。
- 测试您的项目。
- 对您的项目进行基准测试。
我已经在 haskell web 项目中尝试过,它运行顺利。
关于windows - 在 Windows 上使用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455746/