问题标签 [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.
haskell - Haskell:当我使用 getArgs 时出现 ByteString 问题
我正在使用 ghc 7.10.3 的沙箱中工作,并且我有这个简单的代码:
当我在我的 cabal 文件中使用这些依赖项编译它时:
我继续得到(在清理和重建沙箱之后)以下错误:
我已经用谷歌搜索并检查了不同的类似答案,但我无法让它发挥作用。任何想法?
解决方案
问题是由于在代码中有一个import Data.Text
包含 a的导入,pack
这与pack
. Data.ByteString.Char8
一旦我包含它,它就起作用了。
haskell - Cabal:在 Sandbox 中发布构建 Hook
我正在为 Cabal 创建一个简单的构建后挂钩。当我尝试在沙箱中工作时,问题就来了。我的钩子期望编译代码如下:
dist/something
但是当构建发生在沙箱内时,路径变为:
dist/dist-sandbox-xxxxxxxx/something
dist-sandbox
如何将当前使用的路径传递或告知我的钩子?
haskell - Cabal 安装沙箱无法重新安装基础或任何其他依赖项
编辑未来的灵魂绊倒这个:
在下面复制我的任何命令都是不明智的,不要执行它们。只需查看 Zeta 的答案,了解我为什么不正确地处理这个问题。
原始问题
我的沙箱似乎被某些包的全球版本所吸引,而不是使用沙箱版本。我已经在 SO 上四处寻找答案,并且许多问题都没有具体说明来解决这个问题,或者略有不同,所以我似乎无法让我的设置运行。这是我所拥有的:
哦,天哪,这是旧的,不会运行沙盒。
看起来挺好的。
唔。
啊。
啊哈。
伟大的。
嗯,所以base不兼容,OK。
呵呵,所有依赖项呢?
似乎我无法重新安装/注销有问题的软件包。我希望错误消息能给我更多关于如何执行此操作的信息,因为“--reinstall”标志是我最好的选择。
好吧,它提供了两种解决方案,所以让我们尝试另一种,重新创建沙箱。
这也没有帮助。新鲜出主意。如何使用沙盒?我在这里读到的是有一个全球性的东西导致了问题。沙盒不应该被沙盒设计所困扰,对吧?
如果它有助于上下文,我只是尝试运行 Frames 的演示:
https://github.com/acowley/Frames
...这是:
我看到这一步有一个已解决的问题,但这似乎是一个不同的问题。
haskell - cabal install --shadow-installed-packages 做什么?
cabal install --help
这么说的--shadow-installed-packages
:
如果安装了相同版本的多个包实例,则将除一个之外的所有包实例视为已隐藏。
但是我在沙箱中使用了这个选项,似乎所有已安装的包都被隐藏了,并且所有内容都在沙箱中重建。这实际上是我根据选项名称所期望的,但它似乎与帮助描述不匹配。
这个选项真正应该做什么?
haskell - 如何将 GHC 与不在当前工作目录中的 cabal 沙箱一起使用?
如果我使用 创建一个 cabal 沙箱cabal sandbox init
,我可以使用cabal repl
或cabal exec ghc(i)
使用这些包,而无需创建项目:
但是,如果我将路径更改为其他内容,甚至更改为子目录,我将无法再访问这些包:
有没有办法使用沙箱中的内容,而不复制其内容?
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'的接口”
我到底错过了什么?
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
任何帮助,将不胜感激!
haskell - Haskell cabal中基础的依赖冲突
出现了cabal的与文件base
中的依赖冲突的问题,.cabal
似乎我的base
版本太高了,所以有没有办法降级我的base
包版本在cabal sandbox
.
还有一个问题是,在使用的时候stack
,如何在alex
if running中添加一些flags stack build
,比如cabal指令是cabal install --alex-options="--ghc --template=\"$TOP/alex\""
。那么如何让他们stack
做同样的事情呢?
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。
haskell - 如何管理 cabal 沙箱
cabal的当前文档显示了一个sandbox
子命令。
github 上的相应页面不再包含沙箱部分。
我使用的是 cabal 版本 3.2.0.0,但没有sandbox
子命令。使用 cabal 管理沙箱的正确方法是什么?
显然,文档正在进行大修,提到了Nix 样式/new-/v2 命令,但对于菜鸟来说,使用 cabal 沙箱的规范方式是什么并不清楚。