- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发 wxHaskell 库,并希望将我的开发工作与 hackage 中的稳定 wxHaskell 分开,我按以下方式使用 cabal-dev
:
cabal-dev add-source
添加每一个 (wx
, wxcore
, wxdirect
);<cabal-dev install wx
安装到沙箱本地软件包库中,正如预期的那样,检测到依赖项并构建并安装了所有内容。当我修改 wxHaskell 源代码时,问题就出现了。为了构建和安装更新的代码,我必须使用 cabal-dev install --reinstall ,这是有意义的,因为我不增加版本号;构建发生,我看到“正在安装库...”和“正在注册...”,但我在代码中所做的更改并不存在于重新编译的沙箱库中。
我目前的解决办法是删除 cabal-dev
库,并在每次想要重建时重复该过程。
最佳答案
更新: cabal-install >= 1.18 支持沙箱,并且今后将比 cabal-dev 得到更好的维护。 Cabal-install 还可以更好地支持将 add-source 与沙箱结合使用。以下是 cabal-install 中新沙箱功能的描述:http://coldwa.st/e/blog/2013-07-30-Cabal-sandbox.html
旧答案:
正如您所发现的,“add-source”不适用于主动更改的项目。我不确定那里是否有一个好的解决方案 - 很难跟踪添加源项目的位置(至少没有现有的基础设施),而且我不确定这总是正确的事情。
另一个工作流程可能会为您提供更好的服务 - 只需使用cabal-dev install
,指向您希望用于 future 开发的沙箱。 Cabal 工具链的最新版本(我指的是 Cabal、cabal-install 和 cabal-dev)允许这种事情:
$ ls
wx wxcore wxdirect
$ cabal-dev install --sandbox=<path-to-some-sandbox> ./wx ./wxcore ./wxdirect
...
(注意:我还没有使用 WX 对此进行测试 - 可能会出现我没有意识到的问题!)
假设一切按预期进行,这会将本地子目录中的三个软件包安装到指定的沙箱中。更新源仅意味着为更改的项目重新发出 cabal-dev 安装命令。
请记住,您必须自己以正确的顺序发出重复的 cabal-dev 安装命令,或者您必须使用上面的批处理命令并更新相应的版本号。
我并不认为这是理想的;)但我认为这比每次删除沙箱都要好。
关于haskell - 将 --reinstall 标志与 cabal-dev 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7451296/
我是haskell和cabal的新手,所以我可能缺少一些简单的东西。 我更新了 cabal 安装: sudo cabal install cabal-install Password: Resolvi
这个问题只有yak-shaving尝试排除故障 another problem . 因此,为了诊断我的另一个问题,建议我尝试: cabal unpack base cd base-4.3.1.0 ca
当我安装 vector和: cabal install vector 我收到很多 SpecConstr如果我可以指定 -fspec-constr-count=SOMETHING-HIGHER,限制将消
当我尝试安装目录包时出现以下错误: $ cabal install directory Resolving dependencies... Failed to install directory-1.
我刚刚在运行 Mavericks 10.9 的 Mac 上安装了 Haskell 平台。包含的 cabal 版本 (1.16) 已过时,并提示我运行“cabal update”,然后运行“cabal
我已经在 I:\cabal 和 ghc 文件夹中分别安装了 cabal 和 I:\ghc 文件夹。我之前安装了 Haskell-Platform,但是没有用,我不得不卸载它。但是有一个名为 C:\Us
我已经制作了一个 Cabal 沙箱,并为它安装了一个软件包,但 runhaskell Setup configure提示我刚刚安装的软件包依赖项丢失了。 我验证了包名和版本,没问题。 运行 cabal
我是否需要手动编辑 *.cabal 文件的 build-depends部分添加包作为项目依赖? 或者也许有一种更方便的方法,它不像手动修改构建文件那样容易出错。 考虑我使用的几乎所有包管理器都具有的功
当我做 cabal --version我懂了: cabal-install version 0.14.0 using version 1.14.0 of the Cabal library 那么有什么
我刚刚做了brew install haskell-platform它安装了 Glorious Glasgow Haskell 编译系统,版本 7.6.3 。 $ cabal --version ca
我需要通过 Cabal 安装 Yesod 和依赖项,不幸的是我无法更新 cabal。外壳输出: ...$ sudo cabal install cabal-install Resolving depe
我似乎在 cabal 中的依赖关系图损坏方面遇到了很多问题,我最终尝试遵循 SO 建议转向 cabal-dev,但由于类似的原因,它无法安装。 跳过原始安装尝试的许多页面,以下是当前状态: C:\Us
每次我安装库时,cabal 都会告诉我安装新版本的 cabal-install。尽管我运行了(明显成功)下面列出的过程,但 cabal-install 的版本保持不变。我哪里错了? (我的操作系统是W
当我通过 sudo apt-get 安装 Haskell/GHC+cabal 时我安装了 Cabal 1.16 版。这显然不是最新的版本。我将如何升级到至少 1.18 版?我试着做 sudo apt-
我制作了自己的 cabal 包(我们称之为 package-1),其中包含两个目标,一个库和一个可执行文件。库部分有一个构建依赖列表,而可执行文件有另一个更大的构建依赖列表。 现在我创建了 packa
当我在 vim 中构建一个 cabal 项目时,使用 :set makeprg=cabal\ build :make haskellmode-vim似乎没有找到类型信息。当光标位于 foo 上时执行
我刚刚通过 apt-get 在 Linux Mint 12 上进行了全新的 haskell 平台安装。每次我尝试使用 cabal-install 安装一些 hackage 包时,我都会得到: coul
当我在 vim 中构建一个 cabal 项目时,使用 :set makeprg=cabal\ build :make haskellmode-vim似乎没有找到类型信息。当光标位于 foo 上时执行
我有两个正在开发的软件包,A和 B .包B取决于 A . A是在它自己的沙盒中开发的,B 也有类似的情况。 : A> cabal sandbox init A> cabal install --ena
看来我错过了什么。据我了解cabal sandbox init表示从当前文件夹和所有子文件夹全部 cabal install命令的范围为沙箱。因此,此文件夹之外的所有内容都不在沙箱中。 那么 caba
我是一名优秀的程序员,十分优秀!