cabal 的当前文档显示了一个sandbox子命令。
github 上的相应页面不再包含沙箱部分。
我使用的是 cabal 版本 3.2.0.0,但sandbox子命令不存在。使用 cabal 管理沙箱的正确方法是什么?
显然,文档正在进行彻底修改,其中提到了Nix 风格/new-/v2 命令,但菜鸟不清楚使用 cabal 沙箱的规范方式是什么。
复制下面的任何命令是不明智的,不要执行它们.请查看Zeta的答案,了解我为什么接近这个错误.
我的沙盒似乎陷入了某些软件包的全局版本,而不是使用沙箱版本.我已经在SO上寻找答案,并且许多问题在没有具体说明的情况下得到解答,或者稍有不同,所以我似乎无法让我的设置运行.这就是我所拥有的:
1. Version of cabal is old:
$ cabal --v
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
Run Code Online (Sandbox Code Playgroud)
哦,亲爱的,这是旧的,不会运行沙盒.
2. Install cabal with cabal
$ cabal install cabal
Resolving dependencies...
Downloading Cabal-1.22.6.0...
...lots of stuf...
Registering Cabal-1.22.6.0...
Installed Cabal-1.22.6.0
Run Code Online (Sandbox Code Playgroud)
看起来不错.
3. Try it out:
$ cabal sandbox init
cabal: unrecognised command: sandbox (try --help)
Run Code Online (Sandbox Code Playgroud)
嗯.
$ which cabal
/usr/bin/cabal
Run Code Online (Sandbox Code Playgroud)
啊.
$ ${HOME}/.cabal/bin/cabal --version
cabal-install version 1.22.2.0
using version 1.22.2.0 of the Cabal library
Run Code Online (Sandbox Code Playgroud)
啊哈.
$ …Run Code Online (Sandbox Code Playgroud)