问题标签 [stackage]
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.
cabal - `stack build` 一个新的 `yesod init` 不会将可执行文件存储到 `dist/build`
当我使用时,cabal build
我在目录中找到了yesod
可执行文件dist/build
,但现在,使用stack build
我在目录中找到了
我找不到原因(一些阴谋集团/堆栈行为改变,我的错,......)。
我更喜欢使用dist/build
版本化路径来编写我的部署脚本。
谢谢!
haskell - What is the up-to-date standard workflow for building Haskell projects?
Since things change so fast, I've posted this question so hopefully the community-agreed way to start a Haskell project can be clarified. Imagine I have two separate projects:
Project #1: Square, the library that squares numbers. No deps.
/li>Project #2: Hypotenuse, the library and executable that finds the longest side of a right-angled triangle. Depends on #1:
,
/li>
Starting with a computer with GHC 7.10.2, Stack and Cabal installed, and a single directory, ~/OrganizeMe
, containing ~/OrganizeMe/Square.hs
, ~/OrganizeMe/Hypotenuse.hs
and ~/OrganizeMe/Main.hs
, as presented above - what is a complete set of unix commands an experienced Haskeller would use to architect those projects? That includes:
Organizing the directory tree of those projects;
configuring
Stack
/Cabal
/etc
(andgit
, optionally);building/installing them locally;
publishing to
Hackage
/Stackage
.
haskell - 如何在 Hoogle 上搜索类型类实例?
有没有办法在 Hoogle(或 Stackage)上搜索类型类的实例?
例如,我想知道哪个包定义了Lift
for的实例Text
。
我能够在包中找到它th-lift-instances
,但手动搜索大约需要 10 分钟。似乎 Hoogle 应该有一些允许搜索实例的功能。
haskell - 列出可用的堆栈构建计划
如何获取堆栈的可用构建计划列表?在我得到的一些系统上,我lts-3.7
有一些其他的系统lts-3.1
。
mysql - nix-shell --command `stack build` 导致 libpq-fe.h:没有这样的文件或目录
我正在尝试在 nixos 上编译我的小项目(一个带有 lambdacms 的 yesod 应用程序)。但是,在使用 cabal2nix (更准确地说是 cabal2nix project-karma.cabal --sha256=0 --shell > shell.nix) 之后,我仍然缺少一个依赖 wrt。似乎是postgresql。
我的 shell.nix 文件如下所示:
输出如下:
我认为没有太多遗漏,所以指针会很好。还有什么奇怪的,那就是“nix-shell”可以工作,但随后用“stack exec yesod devel”告诉我
当使用 mysql 代替时,我得到
将 pkgconfig 添加到我的全局配置后,构建似乎更进一步,因此 shell.nix 似乎被忽略了一些。
(到目前为止我尝试过的来源: https ://groups.google.com/forum/#!topic/haskell-stack/_ZBh01VP_fo )
更新:似乎我忽略了手册的这一部分 http://nixos.org/nixpkgs/manual/#using-stack-together-with-nix 但是,想到的第一个想法(stack --extra-lib -dirs=/nix/store/c6qy7n5wdwl164lnzha7vpc3av9yhnga-postgresql-libpq-0.9.1.1/lib build) 还没有工作,很可能我需要使用 --extra-include-dirs 或尝试其中一种变体。不过,stack 仍在尝试在相同版本中构建 postgresql-libpq 似乎很奇怪。
更新2:目前正在尝试“堆栈--extra-lib-dirs=/nix/store/1xf77x47d0m23nbda0azvkvj8w8y77c7-postgresql-9.4.5/lib--extra-include-dirs=/nix/store/1xf77x47d0m23nbda0azvkvj8w8y77c7-postgresql-9.4.5/包括构建”,看起来很有希望。看起来不像尼克斯方式,但仍然如此。
更新3:仍然得到
这很奇怪,因为 libpq.so.5 包含在 /nix/store/1xf77x47d0m23nbda0azvkvj8w8y77c7-postgresql-9.4.5/lib 中。额外的
也无济于事。
Update4:顺便说一下,yesod devel 与 stack exec yesod devel 的作用相同。我的库已下载到 /nix/store 但无法识别。也许我需要让“build-nix”工作,而 yesod devel 在这里不起作用?
为了完整起见,这里是 stack.yaml
下周末,我将查看 https://pr06lefs.wordpress.com/2014/09/27/compiling-a-yesod-project-on-nixos/ 和其他搜索结果。
haskell - 是否有类似于 `cabal run` 的`stack run`?
直到最近,我一直在执行这个美丽来构建 + 运行一个带有堆栈的项目:
我在 IRC 上被告知这可以简化为
这是否可以进一步简化,以
或者至少
?
如果我没记错的话,这是可能的cabal run
。
编辑:
@haoformayor 的评论越来越接近:
虽然这仍然需要项目名称,对吧?
我也开始接近
尽管这仅在项目名称与文件夹名称匹配时才有效。也许我们可以查询 cabal/stack 以获取executable
.cabal 文件中的第一个条目?或者也许我们可以用sed
......
haskell - 堆栈设置 7.10.3 仅安装 7.10.2
有人可以解释为什么stack setup 7.10.3
只安装7.10.2
吗?
这是一个问题,因为我正在尝试安装 iHaskell:
我安装了7.10.3
另一种方式......它位于我计算机的不同部分,/opt/ghc/7.10.3
所以现在有两个不同版本的 GHC 浮动。对于一些进一步的混淆,which
指向我在堆栈中安装的版本:
为什么一开始就不能堆叠安装7.10.3
?至少我可以知道stack
我把它放在哪里了。
ghc - 如何针对堆栈测试新的 ghc 构建
我已经构建了 ghc-HEAD,我想尝试构建所有堆栈 lts 或 nightly 以查看它可以做多少。
我所说的一切都无法说服 stack 使用我的新 ghc 构建任何东西。我尝试设置如下:
然后我下载一个 lts config.cabal 并将所有包复制到 my.cabal 文件中。这就是使用常规 ghc 构建所有内容所必需的。我说
它告诉我它不知道这些包在哪里。尝试堆栈求解器。所以我尝试了它,它也在很长一段时间后放弃了。
接下来我尝试制作一个自定义快照,再次将所有包放在一个 snapshot.yaml 中并将 stack.yaml 指向它。在 stack.yaml 中:
在 my-snapshot.yaml 中:
那也行不通。所以我尝试与 stack.yaml 协商
现在stack install
说:
haskell - 如何使用堆栈生成静态链接的 Haskell 二进制文件?
我想为 Haskell 构建一个静态二进制可执行文件(在我的情况下,重要的是不要依赖任何系统库)。我使用堆栈作为我首选的构建工具。应该设置哪些标志来实现这一点?对每一个的简要说明的加分。