我试图安装一个包(nymphaea,因为它发生)。这取决于比我拥有的基础更早的版本。我并不热衷于降级基础库,所以我想尝试忽略这种依赖关系,并看看事情进展如何。Haskell Cabal:如何忽略依赖关系
有没有办法告诉cabal错过特定的依赖关系?
更新:编辑cabal文件后,我该怎么处理它?据我所知,Cabal没有明显的方法将它指向文件,也没有任何可以手动放置cabal文件的地方。
[按以下,显然我应该只是调用cabal install
目录中包含的编辑小集团文件]
更新2:不幸的是,阴谋让我自己被需要的软件包版本,我似乎有一个奇怪的错误:
$ cabal install -v --upgrade-dependencies time
Reading available packages...
Resolving dependencies...
In order, the following would be installed:
time-1.2.0.5 (new version)
Extracting
C:\Users\Marcin\AppData\Roaming\cabal\packages\hackage.haskell.org\time\1.2.0.5\time-1.2.0.5.tar.gz
to C:\Users\Marcin\time-1.2.0.54736...
Creating C:\Users\Marcin\time-1.2.0.54736\time-1.2.0.5\dist\setup (and its
parents)
C:\Program Files (x86)\Haskell Platform\2011.2.0.1\bin\ghc.exe --make C:\Users\Marcin\time-1.2.0.54736\time-1.2.0.5\Setu
p.hs -o C:\Users\Marcin\time-1.2.0.54736\time-1.2.0.5\dist\setup\setup.exe -odir C:\Users\Marcin\time-1.2.0.54736\time-1
.2.0.5\dist\setup -hidir C:\Users\Marcin\time-1.2.0.54736\time-1.2.0.5\dist\setup -i -iC:\Users\Marcin\time-1.2.0.54736\
time-1.2.0.5 -package Cabal-1.10.1.0
<command line>: cannot satisfy -package Cabal-1.10.1.0:
Cabal-1.10.1.0-55f781465ee9f32289755ad706c71f0f is unusable due to missing or recursive dependencies:
directory-1.1.0.0-3a2367d72569467a8af8a231656ff1b8 process-1.0.1.5-b3dded8e54a2e13d22af410bdcfafff4
(use -v for more information)
World file is already up to date.
cabal.exe: Error: some packages failed to install:
time-1.2.0.5 failed during the configure step. The exception was:
ExitFailure 1
谢谢 - 但对我来说,它仍然不工作,因为另一个神秘的错误(显然时间不会建立,因为它取决于我已经有的包?!?) – Marcin 2011-06-10 23:34:24
@Marcin:很难说没有看到错误信息,但大多数情况下,这些错误是由于缺少非Haskell软件包,或者编译器无法找到它们造成的。我不得不安装'libglade2-dev',但可能还有其他依赖项已经安装。 – hammar 2011-06-10 23:42:00
如果您在意,请参阅我上面的更新(谢谢!)。 – Marcin 2011-06-10 23:43:43