You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引入quickcheck-instances测试包时Stack构建遭遇transformers版本冲突的解决方案咨询

解决transformers-compat与transformers版本冲突的方案

遇到的核心问题是transformers-compat-0.6.6要求transformers版本为0.2.*,但你的stack配置中引入了transformers-0.5.6.2,两者版本不兼容。以下是几个不需要开启allow-newer的更优解决方案:

1. 替换兼容版本的transformers-compat

transformers-compat-0.6.6是较老的版本,仅支持旧版transformers。你可以替换为一个支持transformers-0.5.6.2的transformers-compat版本,比如transformers-compat-0.7.1(或更高的兼容版本):

  • 从extra-deps中移除以下两行:
    - transformers-compat-0.6.6@sha256:510709db2b12d1510d70de824ee544ca0a9e6f27aa7e299218cbacc0750b4a5e,5560
    - transformers-0.5.6.2@sha256:6c959d14430f4deffb99579ba019de07c3d852a2122b6f449344386c7d75ff1d,3172
    
  • 添加兼容的transformers-compat版本(你可以通过stack transformers-compat命令获取最新兼容的哈希值,或者直接指定版本让stack自动解析):
    - transformers-compat-0.7.1
    

这样新的transformers-compat版本会和transformers-0.5.6.2兼容,同时满足quickcheck-instances的依赖要求。

2. 减少手动指定的extra-deps,让stack自动解析

你当前的extra-deps里手动添加了大量依赖,这容易引发版本冲突。如果你的stack resolver版本足够新,quickcheck-instances和QuickCheck可能已经包含在resolver的快照中,不需要手动添加:

  • 先移除extra-deps中所有和quickcheck-instances、QuickCheck及其依赖相关的条目(包括你列出的所有那些依赖)。
  • 确保你的package.yaml中的依赖范围正确:
    dependencies:
      - blackjack
      - quickcheck-instances >= 0.3.25 && < 0.4
      - QuickCheck >= 2.14.2 && < 2.15
    
  • 运行stack build,stack会自动从resolver中寻找满足版本要求的包,如果有缺失,它会提示你需要添加的extra-deps条目,此时只需添加必要的部分即可,避免手动指定过多依赖导致冲突。

3. 切换到合适的stack resolver

如果当前使用的resolver版本过旧,可能无法找到兼容的依赖组合。你可以切换到一个包含quickcheck-instances >=0.3.25和QuickCheck >=2.14.2的resolver版本(比如较新的LTS版本)。修改stack.yaml中的resolver字段:

resolver: lts-18.28  # 示例版本,请根据实际情况选择合适的LTS版本

之后运行stack build,stack会自动处理所有依赖,无需手动添加大量extra-deps。


内容的提问来源于stack exchange,提问作者Xwtek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 15:32:41