我想稍微了解一下 Haskell,因此看了一下 Spock 框架。首先,我从我的 Arch Linux 机器上卸载了所有与 Haskell 相关的东西,并使用各自网站上的安装脚本安装了 ghcup、Cabal 和 Stack。
现在我想按照Spock 的教程。尝试cabal install Spock
按照建议在全局范围内安装 Spock 会给我一个错误(缩写):
src/Web/Spock/Internal/Wire.hs:43:1: error:
Could not find module ‘Web.Routing.AbstractRouter’
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
43 | import Web.Routing.AbstractRouter
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cabal: Failed to build Spock-0.9.0.1. See the build log above for details.
我已经在reddit 上找到了关于该主题的问题,但该解决方案不适用,因为我没有尝试使用隐含的特定版本的库。
所以我尝试跟随并仅在本地构建。但是当我达到它所说的地步时,stack build --fast --pedantic
无法构建构建计划,并且 Stack 建议添加另一个依赖项,stm-containers
. 这样做,我收到了两个关于focus
和的额外建议primitive
。当我添加这些时,计划再次失败,这次没有简单的解决方案:
In the dependencies for primitive-0.6.4.0:
base-4.13.0.0 from stack configuration does not match >=4.5 && <4.13 (latest matching version is 4.12.0.0)
needed due to Spock-example-0.1.0.0 -> primitive-0.6.4.0
我可以用 Haskell 做一些小事,但是使用构建系统,我已经走出了自己的舒适区。帮助和提示表示赞赏。哦,当然,所有版本都是本文发布时的最新版本。