【问题标题】:Haskell Cabal: locally fix a broken package DL'ed from HackageHaskell Cabal:本地修复从 Hackage DL'ed 损坏的包
【发布时间】:2014-10-14 02:16:54
【问题描述】:

假设我运行 cabal sandbox init .. cabal install -j some-package 并在 some-package 的依赖项之一中构建失败。解决这个问题的一种方法是我通知作者失败,然后等待他们发​​布新版本,但这个过程有时会太慢。当失败的原因很明显时(通常是这种情况),我想启动我的文本编辑器并自己修复它。

但是,当我从 .cabal-sandbox 缓存目录中的错误日志中对文件名运行 find(1) 时,我找不到 .hs 文件。 cabal 命令是否会在 GHC 成功或未成功完成其执行时删除整个源目录?我怎样才能侵入cabal 的任务执行?或者,是否有任何标准化的方法可以实现我自己从 Hackage 修复软件包的最初目标?

【问题讨论】:

    标签: haskell cabal cabal-install


    【解决方案1】:

    您可以使用cabal get <package> 下载包源,然后修复它并使用cabal install <package-dir> 安装到沙箱中。

    例如

    $ cabal get split
    Unpacking to split-0.2.2/
    $ vim split-0.2.2/split.cabal
    $ cabal install ./split-0.2.2
    

    【讨论】:

    • 太好了,我试试看!我不知道cabal 接受本地文件路径。
    • 起初我认为它不起作用,但事实证明包名称末尾的 / 字符对于 cabal 识别它是本地目录而不是在黑客攻击。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2012-04-13
    • 2010-09-25
    • 1970-01-01
    相关资源
    最近更新 更多