本文介绍了Haskell堆栈包安装错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  user $:stack install dictionaries 

错误:在构建构建计划时,遇到以下异常:

在字典依赖关系-0.1.0.0:
binary-0.8.3.0必须匹配> = 0.7.5&& 时间-1.6.0.1必须匹配> = 1.5.0&& < 1.6(最新适用的是1.5.0.1)

通过上述命令,我想安装词典全球包裹。



这里有什么我的选择?
我计划堆栈解包字典,然后修改版本。
但是如何在全球范围内安装修改过的本地套餐?



这里有什么最佳做法?

感谢

解决方案

最简单的一个:添加 allow-newer:true to stack.yaml



这将是这种情况下的解决方案。它解决了像你一样的高版本限制问题。但是,当然也可能会出现构建失败的情况。



也许可以这样做:将解析器更改为最新的每晚



每晚快照有时会发生故障。并且通常会通过库更新和新的夜间快照进行修复。如果您使用旧快照,请将其更改为最新。或者等待可能是解决方案之一。



最常用的一种:依赖修改后的本地包



您可以通过将包路径添加到stack.yaml packages:来实现。然后,堆栈将使用它而不是快照。



你想要的方式可能不是一个好主意。即使这是可能的,你将如何处理许多版本的快照案例?应该为每个包指定本地依赖项。


user$: stack install dictionaries

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for dictionaries-0.1.0.0:
    binary-0.8.3.0 must match >=0.7.5 && <0.8 (latest applicable is 0.7.6.1)
    time-1.6.0.1 must match >=1.5.0 && <1.6 (latest applicable is 1.5.0.1)

With the above command, I want to install the dictionaries package globally.

What are my options here?I plan to stack unpack dictionaries, and then modify the versions.But then how to install the modified 'local' package globally?

What's the best practices here?

Thanks

解决方案

Easiest one: Add allow-newer: true to stack.yaml

It would to be the solution in this case. It solves the upper version limitation problem like yours. But of course there is possibility of build failure.

Maybe possible one: Change resolver to latest nightly

That failure occurs sometimes on nightly snapshot. And usually repaired soon by library update and new nightly snapshot. If you are using old snapshot, change it to latest. Or waiting may be one of solution.

Most general one: Make dependency to modified local package

You can do it by adding the package path to stack.yaml packages:. Then stack will use it instead of snapshot one.

The way you want is probably not a good idea. Even if that's possible, how are you going to handle with the many version of snapshot case? Local dependencies should be specified to each package.

这篇关于Haskell堆栈包安装错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 01:15