我的软件包具有以下依赖关系,我使用cabal sandbox进行管理:
build-depends: tagsoup >= 0.13,
bytestring >= 0.10.0.2,
base >=4.6 && <4.7, attoparsec >=0.12 && <0.13, text >=0.11.2 && <1.2,
pipes >= 4.1.2, pipes-attoparsec >= 0.5.1
一切都很完美,直到这里。现在,我想使用包pipes-text
中的一些功能,因此我将以下规则添加到其中:
pipes-text
我没有明确地提出任何版本,以便让cabal足够灵活,可以选择一些理智的版本。选择后,我会在build-depends
部分中包含该约束。
我给出以下命令来安装沙箱中的依赖项:
$ cabal install --only-dependencies
Warning: The package list for 'hackage.haskell.org' is 26 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
In order, the following would be installed:
blaze-builder-0.3.3.2 (reinstall) changes: text-0.11.2.3 -> 1.1.1.3
comonad-4.2 (new version)
parsec-3.1.5 (new version)
network-2.5.0.0 (new version)
pipes-safe-2.2.0 (new package)
semigroupoids-4.0.2.1 (new version)
bifunctors-4.1.1.1 (new version)
profunctors-4.0.4 (new version)
free-4.9 (new version)
pipes-group-1.0.0 (new package)
pipes-bytestring-2.0.1 (new package)
streaming-commons-0.1.3 (reinstall) changes: network-2.4.0.1 -> 2.5.0.0,
text-0.11.2.3 -> 1.1.1.3
pipes-text-0.0.0.11 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
conduit-extra-1.1.0.4
conduit-combinators-0.2.5.2
mime-mail-0.4.3
language-javascript-0.5.8
hjsmin-0.1.4.4
http-types-0.8.3
http-client-multipart-0.2.0.0
http-client-0.2.2.2
http-client-tls-0.2.1.1
hamlet-1.1.7.6
fast-logger-2.1.0
cookie-0.4.0.1
chunked-data-0.1.0.1
blaze-markup-0.5.1.6
blaze-html-0.6.1.2
Use --force-reinstalls if you want to install anyway.
现在这让我感到困惑,我还没有在沙盒中安装任何与管道相关的库。那么为什么集团担心呢?有什么指针可以避免这个问题吗?