问题标签 [cabal-sandbox]

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.

0 投票
1 回答
110 浏览

haskell - Haskell:当我使用 getArgs 时出现 ByteString 问题

我正在使用 ghc 7.10.3 的沙箱中工作,并且我有这个简单的代码:

当我在我的 cabal 文件中使用这些依赖项编译它时:

我继续得到(在清理和重建沙箱之后)以下错误:

我已经用谷歌搜索并检查了不同的类似答案,但我无法让它发挥作用。任何想法?

解决方案

问题是由于在代码中有一个import Data.Text包含 a的导入,pack这与pack. Data.ByteString.Char8一旦我包含它,它就起作用了。

0 投票
1 回答
70 浏览

haskell - Cabal:在 Sandbox 中发布构建 Hook

我正在为 Cabal 创建一个简单的构建后挂钩。当我尝试在沙箱中工作时,问题就来了。我的钩子期望编译代码如下:

dist/something

但是当构建发生在沙箱内时,路径变为:

dist/dist-sandbox-xxxxxxxx/something

dist-sandbox如何将当前使用的路径传递或告知我的钩子?

0 投票
1 回答
2687 浏览

haskell - Cabal 安装沙箱无法重新安装基础或任何其他依赖项

编辑未来的灵魂绊倒这个:

在下面复制我的任何命令都是不明智的,不要执行它们。只需查看 Zeta 的答案,了解我为什么不正确地处理这个问题。

原始问题

我的沙箱似乎被某些包的全球版本所吸引,而不是使用沙箱版本。我已经在 SO 上四处寻找答案,并且许多问题都没有具体说明来解决这个问题,或者略有不同,所以我似乎无法让我的设置运行。这是我所拥有的:

哦,天哪,这是旧的,不会运行沙盒。

看起来挺好的。

唔。

啊。

啊哈。

伟大的。

嗯,所以base不兼容,OK。

呵呵,所有依赖项呢?

似乎我无法重新安装/注销有问题的软件包。我希望错误消息能给我更多关于如何执行此操作的信息,因为“--reinstall”标志是我最好的选择。

好吧,它提供了两种解决方案,所以让我们尝试另一种,重新创建沙箱。

这也没有帮助。新鲜出主意。如何使用沙盒?我在这里读到的是有一个全球性的东西导致了问题。沙盒不应该被沙盒设计所困扰,对吧?

如果它有助于上下文,我只是尝试运行 Frames 的演示:

https://github.com/acowley/Frames

...这是:

我看到这一步有一个已解决的问题,但这似乎是一个不同的问题。

0 投票
0 回答
125 浏览

haskell - cabal install --shadow-installed-packages 做什么?

cabal install --help这么说的--shadow-installed-packages

如果安装了相同版本的多个包实例,则将除一个之外的所有包实例视为已隐藏。

但是我在沙箱中使用了这个选项,似乎所有已安装的包都被隐藏了,并且所有内容都在沙箱中重建。这实际上是我根据选项名称所期望的,但它似乎与帮助描述不匹配。

这个选项真正应该做什么?

0 投票
1 回答
245 浏览

haskell - 如何将 GHC 与不在当前工作目录中的 cabal 沙箱一起使用?

如果我使用 创建一个 cabal 沙箱cabal sandbox init,我可以使用cabal replcabal exec ghc(i)使用这些包,而无需创建项目:

但是,如果我将路径更改为其他内容,甚至更改为子目录,我将无法再访问这些包:

有没有办法使用沙箱中的内容,而不复制其内容?

0 投票
0 回答
1192 浏览

haskell - Haskell - 安装包后无法加载“System.Console.ANSI”的接口

这几天我一直在学习haskell,虽然我不习惯纯函数式范式,但我发现它非常有趣。

我一直在尝试制作我的第一个“真正的”程序(在 helloworld、fizzbuzz 和 co 之后),即在 haskell 中制作一个 Snake 游戏。为此,我想清洁控制台并在其中打印新内容(我在 Windows 上)。

我发现这对我有帮助: 如何清除 Haskell 中的终端屏幕?

所以我用“cabal update”更新了 cabal。然后我创建了我的文件夹“Snake”,并将 cd 放入其中。然后我做了“cabal sandbox init”,然后是“cabal install ansi-terminal”,并创建了以下文件:

当我执行“ghc --make Snake.hs”时,它返回错误“无法加载'System.Console.ANSI'的接口”

我到底错过了什么?

0 投票
1 回答
230 浏览

haskell - 无法在 macOS Sierra 上运行 Hakyll:格式错误的 mach-o:加载命令大小

我可以编译 Hakyll,但是当我尝试运行它时出现链接错误。
首先,我在沙箱中安装 Hakyll:

这成功完成。然后我使用创建一个普通站点hakyll-init并将文件向上移动一个目录:

然后我尝试运行它,cabal exec -- runghc site.hs build我得到:

  • 的内容site.hs是完全标准的。我已将文件上传到gist
  • GHC 8.2.1,通过 Homebrew 安装。我最初在 7.10.3b 中遇到了这个问题,并升级了 GHC 以查看是否有帮助。它没有。
  • macOS Sierra 10.12.6

任何帮助,将不胜感激!

0 投票
1 回答
1606 浏览

haskell - Haskell cabal中基础的依赖冲突

出现了cabal的与文件base中的依赖冲突的问题,.cabal似乎我的base版本太高了,所以有没有办法降级我的base包版本在cabal sandbox.

还有一个问题是,在使用的时候stack,如何在alexif running中添加一些flags stack build,比如cabal指令是cabal install --alex-options="--ghc --template=\"$TOP/alex\""。那么如何让他们stack做同样的事情呢?

0 投票
0 回答
193 浏览

haskell - ghc.exe:无法加载包

我最近开始学习haskell,以前从未使用过cabal包管理器。我目前正在开展一个需要我使用该io-streams包的项目。

我当然已经在我的机器上安装了 Haskell 平台。我目前正在使用x86_64-core version 8.4.3安装程序。

在 Windows 10 上使用 Git Bash 终端,我创建了一个.cabal-sandbox/文件夹(使用cabal sandbox init命令),用于存放我下载的所有包。然后我跑去cabal install io-streams从 Hackage 站点下载并安装包。这工作得很好。

我现在开始编写我的代码了。如下:

但是,当我来运行它时,使用以下步骤:
1.在文件夹cabal repl所在的目录中运行命令。 2. 然后我在 Powershell 中运行以下命令: .cabal-sandbox/

并得到以下错误:

我不知道为什么。这是一个包问题,还是我从 Hackage 站点拉下包时错过了一个步骤?
我是否需要.cabal使用该命令创建一个文件cabal init并需要一些依赖项才能在其中导入?

提前致谢。
C。

0 投票
1 回答
391 浏览

haskell - 如何管理 cabal 沙箱

cabal的当前文档显示了一个sandbox子命令。

github 上的相应页面不再包含沙箱部分。

我使用的是 cabal 版本 3.2.0.0,但没有sandbox子命令。使用 cabal 管理沙箱的正确方法是什么?

显然,文档正在进行大修,提到了Nix 样式/new-/v2 命令,但对于菜鸟来说,使用 cabal 沙箱的规范方式是什么并不清楚。