问题标签 [haskell-stack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 尽管有堆栈求解器,但找不到模块“Test.Hspec”
这是我stack.yaml
声明hspec
为额外依赖项的文件:
当我运行stack solver
它说没有改变要做:
这是我的源文件(只是为了检查我是否可以将 Hspec 与堆栈一起使用):
当我跑步时,stack build
我得到:
2015-10-05 22:24:08.450413: [警告] 找不到模块 `Test.Hspec' @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Execute src/Stack/Build/Execute.hs:1241:35)
我认为stack solver
是确保额外的依赖是好的。
我做错了什么?这是我第一次使用堆栈。
haskell - 如何在堆栈中使用“-ddump-minimal-imports”
我是 stack 的忠实粉丝,我已经从我的机器上完全删除了任何独立的 cabal 和 ghc 可执行文件(让 stack 在它自己神秘的 ~/.stack/ 目录中安装它需要的任何东西)......
但是,看起来某些标志在堆栈下无法正常工作。例如,我想使用-ddump-minimal-imports
. 在阴谋集团中,这将是
显而易见的翻译是
这会运行,但只产生可执行文件(据我所知,至少......也许输出在神秘的 ~/.stack 目录中的某个地方)。
有没有办法做到这一点?
haskell - 如何避免使用堆栈进行不必要的重建?
Stack 通常会缓存包依赖构建以节省未来构建的时间,但我注意到在实践中很多情况下不会发生这种情况。当它工作时,它可以节省大量时间,因为构建依赖项通常需要半小时或更长时间。
经过一些工作,我已经能够隔离一个说明这个问题的简单示例,并且想知道是否有人可以帮助我解决它。请注意,此问题仅涉及新构建,例如克隆之后....同一克隆的第二个构建实际上确实很快。
如果我编译这个非常简单的 Main.hs
使用这个 stack.yaml
还有这个 .cabal 文件
每次我重新克隆源代码时,堆栈都会重建每个依赖项。
我猜这可能与extra-deps
, 特别是text-1.1.1.4
, 但不确定。
haskell - 列出可用的堆栈构建计划
如何获取堆栈的可用构建计划列表?在我得到的一些系统上,我lts-3.7
有一些其他的系统lts-3.1
。
haskell - 由于符号“hsprimitive_memcpy”的重复定义,Yesod 构建错误
我按照“Yesod 快速入门指南”在 Windows 10 中安装 Yesod。但是,当我发出stack build
命令时,它失败了。
环境
- 视窗 10(64 位)
stack-0.1.5
(适用于 Windows10 64 位)- Haskell 平台 7.10.2-a(来自 HaskellPlatform-7.10.2-a-x86_64-setup.exe)
亚历克斯-3.1.4.log
haskell - 堆栈构建工具:与 LTS 解析器的兼容性问题
被宣传为 Haskell 工具的突破,我尝试从 Cabal 切换到 Stack。但是,我仍然无法让项目使用与 cabal 一起运行的堆栈来运行。我认为问题在于解析器设置的全局约束(例如堆栈中的长期支持包)不符合本地包依赖关系。
举个具体的例子,我在 0.14.0.6 版本中使用了 snap 框架 ( http://snapframework.com/ )。使用 . 创建完整的 snap 项目后snap init
,我尝试使用stack init
. 但是,堆栈没有找到满足约束的构建计划。另一方面,acabal install
成功构建了项目。
我对堆栈的理解有误吗?如何解决这个问题?
完整的错误日志如下所示,项目名称为 SnapFull:
haskell - GHC 在 Yesod 安装中无法执行 gcc.exe
我按照“Yesod 快速入门指南”在 Windows 10 中安装 Yesod。但是,当我发出stack build
命令时,它失败了。
环境
- 视窗 10(64 位)
stack-0.1.5
(适用于 Windows10 64 位)- 没有 Haskell 平台
我执行了这些命令
- stack new my-project yesod-sqlite && cd my-project
- 堆栈安装 yesod-bin cabal-install --install-ghc
- 堆栈设置
- 堆栈构建 <--- 发生错误
在“stack build”命令中,软件包安装已完成。但是,当它构建项目时,发生了错误。
命令提示符
postgresql - 给定目录时堆栈找不到 libpq
我正在尝试建立一个使用该postgresql-simple
包的堆栈项目。尝试安装时,安装stack build
的所有依赖项都postgresql-simple
没有问题,但堆栈自身安装时遇到问题postgresql-simple
。我收到以下错误:
我也试过在我的stack.yaml
文件中指定路径,同样的错误。
我尝试手动复制库并将文件从我的 postgres 安装包含到提到的...\mingw64\lib
文件...\mingw64\include
夹中。同样的错误。
我有文件libpq.dll
并且libpq.lib
在我的C:\PostgreSQL\8.4\lib
文件夹中。
我觉得我错过了一些明显的东西,但我无法让它工作,我不确定我做错了什么。任何帮助表示赞赏。
更新
我忘了提到两个重要的细节。
首先,我已添加C:\PostgreSQL\8.4\bin
到我的 PATH 中。据我所知,这可以按预期工作,因为我已经解决了一个关于pg_config
丢失的错误,而是我目前遇到的错误。
其次,我还尝试将lib
andinclude
目录添加到我的 PATH 中,但这并没有改变错误。
我还应该提到我的 Postgres 安装本身就可以正常工作。
haskell - setup-Simple-Cabal 在构建 haskell-src-exts-1.16.0.1 时无法安装
Stack 尝试安装(stack install
在下载的ghc-mod
-repo 目录中)haskell-src-exts-1.16.0.1,但是当它到达 setup-Simple-Cabal 时,出现以下错误:
setup-Simple-Cabal 是ghc-mod
带有堆栈支持的安装的一部分(链接到 github)。mtl
因为关于-package引发了一些错误:
我执行stack solver --modify-stack-yaml --resolver=ghc-7.8
并首先解决了(哈哈)问题。haskell-src-exts >=1.17
但是,显然,有些东西似乎需要。这个版本似乎根本不存在。运行ag "haskell-src-exts >=1.17"
不返回任何结果。什么可以解决这个问题?
编辑:Sooo ...一切看起来都很奇怪。我曾经stack install
安装过所有东西。haskell-srcexts
在这个/happy
问题之前它没有抱怨任何事情。但是,当我尝试时stack solver
,会出现以下错误消息:
这个“全局约束”是什么?我会怀疑extra-deps
中的部分格式不正确stack.yaml
,但情况似乎并非如此。
EDIT2:stack.yaml:
haskell - 堆栈:如何在 `Setup.hs` 中使用多包依赖项?
我有一个stack
多包项目,其中“多包”是zip-conduit-0.2.2.2
(我需要调整一些依赖版本以使其编译nightly-2015-10-12
)。
我zip-conduit
在主包中使用,我也希望Setup.hs
能够打包 zip 文件。
我有build-type: Custom
我的 cabal 文件并stack build
尝试构建Setup.hs
. 问题是构建Setup.hs
找不到依赖项zip-conduit-0.2.2.2
。
我可以在中使用多包依赖项Setup.hs
吗?如果有怎么办?如果没有,我的选择是什么?
注意:我看过这个参考https://github.com/commercialhaskell/stack/pull/899,但我不明白。