首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Haskell安装Euterpea的依赖项时,HCodecs不会跳过版本检查以检查已安装的更高版本

在Haskell安装Euterpea的依赖项时,HCodecs不会跳过版本检查以检查已安装的更高版本
EN

Stack Overflow用户
提问于 2020-11-15 06:46:29
回答 1查看 192关注 0票数 2

当我今天安装Euterpea的时候,我发现HCodecs-0.5.1 (对Euterpea的依赖)总是倾向于beult-失败。

因此,我转到Hackage.Haskell.org,检查HCodecs提供了一个最新版本: HCodecs-0.5.2,并且我成功地安装了它,由阴谋v1-安装(严格遵循来自Euterpea.com &Haskell.org的指示)

但是,在我安装了HCodecs-0.5.2之后,Euterpea的安装仍然没有安装HCodecs-0.5.1;对于依赖项检查来说,这个id相当奇怪,它没有跳过较旧的版本包,而后者是本地可用的;

这里是2安装的日志,希望任何人都能帮助我绕过版本检查,或者解决HCodecs-0.5.1的构建失败:

HCodecs-0.5.2==========================的=================安装

代码语言:javascript
复制
PS C:\WINDOWS\system32> cabal v1-install HCodecs-0.5.2
Resolving dependencies...
Downloading  fail-4.9.0.0
Downloaded   fail-4.9.0.0
Starting     fail-4.9.0.0
Building     fail-4.9.0.0
Completed    fail-4.9.0.0
Downloading  HCodecs-0.5.2
Downloaded   HCodecs-0.5.2
Starting     HCodecs-0.5.2
Building     HCodecs-0.5.2
Completed    HCodecs-0.5.2

===continue安装Euterpea,HCodecs-0.5.1没有跳过并再次失败 ====

代码语言:javascript
复制
PS C:\WINDOWS\system32> cabal v1-install Euterpea
Resolving dependencies...
Starting     HCodecs-0.5.1
Building     HCodecs-0.5.1
Failed to install HCodecs-0.5.1
Build log ( C:\Users\12798\AppData\Roaming\cabal\logs\ghc-8.10.2\HCodecs-0.5.1-KovArVTnpFnLaEvHYYD8GP.log ):
Preprocessing library for HCodecs-0.5.1..
Building library for HCodecs-0.5.1..
[1 of 7] Compiling Codec.ByteString.Builder ( src\Codec\ByteString\Builder.hs, 
dist\build\Codec\ByteString\Builder.o )
src\Codec\ByteString\Builder.hs:79:1: warning: [-Wunused-imports]
    The import of `Data.Semigroup' is redundant
      except perhaps to import instances from `Data.Semigroup'
    To import instances alone, use: import Data.Semigroup()
   |
79 | import Data.Semigroup
   | ^^^^^^^^^^^^^^^^^^^^^
[2 of 7] Compiling Codec.ByteString.Parser ( src\Codec\ByteString\Parser.hs, dist\build\Codec\ByteString\Parser.o )
src\Codec\ByteString\Parser.hs:143:5: error:
    `fail' is not a (visible) method of class `Monad'
    |
143 |     fail  err  = Parser $ \(S _ _ bytes) ->
    |     ^^^^
cabal: Leaving directory 'C:\Users\12798\AppData\Local\Temp\cabal-tmp-13328\HCodecs-0.5.1'
cabal.exe: Error: some packages failed to install:
Euterpea-2.0.7-16Dwojok2ejBacdiDIytTu depends on Euterpea-2.0.7 which failed
to install.
HCodecs-0.5.1-KovArVTnpFnLaEvHYYD8GP failed during the building phase. The
exception was:
ExitFailure 1

这就是我在dependency版本上的全部日志

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-15 07:23:17

问题是Euterpea完全依赖于HCodecs的0.5.1版本,而对MonadFail提案(在GHC8.8.1中完全实现)的支持仅在0.5.2版中添加到HCodecs中。在Euterpea更新其依赖列表之前,您有两个选择:要么将--allow-newer命令行标志传递给阴谋集团,这将导致它忽略上版本界限,要么将您的GHC降级到8.6.5,这是没有完全实现MonadFail建议的最终版本。在这种情况下,我推荐前者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64841853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档