"Dependencies conflict "

来源:互联网 发布:秋冬护肤推荐 知乎 编辑:程序博客网 时间:2024/05/16 14:38

依赖关系冲突:Dependencies conflict ,报出的错误时很让人摸不到头脑的,一般都是这样的:cabal: dependencies conflict: ghc-6.10.1 requires  “somepackagename” ==1.0.1.1 however
“somepackagename” was excluded because ghc-6.10.1 requires “somepackagename”==1.0.1.0

这不是一会儿说需要这个一会又需要那个吗? 其实原因在于:

假设刚开始的ABC依赖关系是这样的: 

A-1
   / |
  /  |
 B-1 |
  /  |
   / |
    C-1.0.1.0
当安装了一个C的1.0.1.1版本后依赖关系变为:

 A-1
   / /
  /   /
 B-1   /
  /     C-1.0.1.0
   /      
    C-1.0.1.1

这样A就有了C的两个依赖包。于是上面的错误就不足为奇了。

解决方法: ghc-pkg unregister packagename

存在的问题:unregister之后依赖关系的变化不知道是如何解决的,A与C之间的直接关系不知道还存在不?待高人指点……

 

 

 

参考资料:http://haskell.1045720.n5.nabble.com/Dependencies-conflict-td3087177.html#a3087180

原创粉丝点击