在 Cabal 沙盒中使用 Fay

3

我刚开始使用cabal sandboxes和Fay。然而,Fay似乎无法自动找到包,这可能是因为它们不在“全局”cabal软件包数据库中。我尝试按照此wiki页面上的建议,但没有成功,对我来说看起来像:

./cabal-sandbox/bin/fay.exe --base-path .cabal-sandbox/i386-windows-ghc-7.6.3/fay-base-0.19/src/ Frontend.hs

但是 Fay 仍然抱怨它找不到 fay-base 包。我能做些什么来解决这个问题?还是必须在沙盒外安装 Fay?


就在昨天,我发现自己处于同样的情况 :) https://github.com/faylang/fay/wiki/Installing-and-running 表示您只需将 HASKELL_PACKAGE_SANDBOX 设置为您的 packages.conf,但我尚未能够在 cabals sandboxing 中使其正常工作... - fho
我发誓我甚至没有看到维基页面中提到沙盒的部分:P。 - Daniel Buckmaster
是的...我也不得不搜索它...而且花了一段时间 :) - fho
我添加了一条注释,说明此页面还包含沙盒指令,希望人们现在能更容易地找到它! - Adam Bergmark
1个回答

4
您无需提供基本路径,但需要通过传递--package-conf或设置HASKELL_PACKAGE_SANDBOX环境变量将其指向正确的软件包配置。例如:
./.cabal-sandbox/bin/fay --package-conf=.cabal-sandbox/x86_64-osx-ghc-7.6.3-packages.conf.d examples/alert.hs

或者

HASKELL_PACKAGE_SANDBOX=./.cabal-sandbox/x86_64-osx-ghc-7.6.3-packages.conf.d ./.cabal-sandbox/bin/fay examples/alert.hs

更多信息可在 https://github.com/faylang/fay/wiki/Installing-and-running#wiki-sandboxes 查看(我刚刚进行了一些编辑以使其更加清晰,我会从另一个维基页面添加一个链接)。

非常感谢! 我不认为我在搜索中找到了那个维基页面 :P。 我使用 --package-conf 选项使其工作。 - Daniel Buckmaster
@AdamBergmark,您能否确认使用HASKELL_PACKAGE_CONFIG环境变量是否有效?我确定我将其设置为.conf.d目录,但仍然出现了“找不到包”错误。 - fho
哦,抱歉那是个笔误,应该是 HASKELL_PACKAGE_SANDBOX。我会修改我的回答。 - Adam Bergmark
嗯,是的...我忽略了你的打字错误 :) ... 你能确认这对 cabal 的内置沙盒实际上可行吗? - fho
它确实可以,我在将其添加到答案之前运行了该命令,你遇到了什么错误? - Adam Bergmark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接