繁体   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