簡體   English   中英

如何在沒有Cabal install的情況下安裝erd無法解決依賴關系錯誤?

[英]How to install erd with cabal install without Could not resolve dependencies error?

我正在嘗試安裝erd,以便可以使用erdgraphviz生成一些數據庫表實體關系圖。

我一直在Windows 64 PC上的Git-Bash命令行提示符下進行以下所有安裝。

首先,我在這里輸入鏈接說明安裝了Haskell(包括陰謀集團),然后我做了一個

cabal update

在嘗試實際安裝帶有這些結果的erd之前

$ cabal install erd
Resolving dependencies...
cabal.exe: Could not resolve dependencies:
trying: erd-0.1.3.0 (user goal)
next goal: base (dependency of erd-0.1.3.0)
rejecting: base-4.8.2.0/installed-140... (conflict: erd => base==4.7.*)
rejecting: base-4.8.2.0, 4.8.1.0, 4.8.0.0, 4.7.0.2, 4.7.0.1, 4.7.0.0, 4.6.0.1,
4.6.0.0, 4.5.1.0, 4.5.0.0, 4.4.1.0, 4.4.0.0, 4.3.1.0, 4.3.0.0, 4.2.0.2,
4.2.0.1, 4.2.0.0, 4.1.0.0, 4.0.0.0, 3.0.3.2, 3.0.3.1 (global constraint
requires installed instance)
Dependency tree exhaustively searched.

我看到重設有時有幫助

rm -rf ~/.ghc ~/.cabal

但就我而言,它並沒有改變結果,我仍然看到“無法解決依賴關系”

由於erd是可執行文件,所以我只需要使用stack即可安裝它:

可以在此處找到安裝stack說明:

https://github.com/commercialhaskell/stack/blob/master/doc/install_and_upgrade.md

在shell中運行以下命令:

cabal get erd-0.1.3.0
cd erd-0.1.3.0
stack init --resolver lts-2.22
stack build

最后一條命令報告如下:

Installing executable(s) in
{some directory}/erd-0.1.3.0/.stack-work/install/x86_64-osx/lts-2.17/7.8.4/bin

我們使用lts-2.22,因為erd-1.3.0需要base-4.7。

這很可能是因為erd是一個非常老的軟件包,並且在軟件包說明中說

Properties
Version  0.1.3.0
Change log  None available
Dependencies    base (==4.7.*)
              , bytestring (==0.10.*)
              , containers (==0.5.*)
              , graphviz (==2999.*)
              , parsec (==3.1.*)
              , text (==1.*) [details]

如果您使用最新的編譯器ghc-7.10甚至ghc-8.0-當前的base版本已打包在一起-今天(2016-05-02)的base-4.8與您的項目不兼容。

因此,最好切換到較舊的編譯器版本(ghc-7.8)或嘗試使用cabal get erd下載軟件包,並將cabal文件調整為base == 4.8.* ,然后嘗試一下。

這對我cabal install --allow-newer base erd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM