我試圖安裝一個包(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