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

使用stack安装Haskell的hlint时报“同名包重复引用”错误如何解决

问题原因

这个报错是因为依赖树中同时引入了两个不同版本的time包:一个是你当前stack.yaml配置的snapshot快照自带的time 1.10,另一个是hlint或你手动添加的extra-deps依赖要求的time 1.11.1.2,allow-newer: true无法解决同包多版本的引入冲突。

解决方法

  • 优先选择全局安装方式,无需修改当前项目配置:直接执行 stack install hlint --resolver=lts-21.24,选择内置了对应版本hlint的稳定LTS快照安装,安装完成的二进制文件会自动加入stack的全局bin目录,全局可用。
  • 如果需要在当前项目的依赖范围内安装,统一time包版本即可:
    1. 先确认当前stack.yaml中resolver对应的快照默认带的time版本:LTS 20.x及以上版本默认带time 1.11.x,LTS 19.x及以下默认带time 1.10.x
    2. 在extra-deps中指定适配当前time版本的hlint版本,避免hlint自动拉取更高版本的time依赖
  • 也可以手动强制锁定time的版本:在stack.yaml的extra-deps中添加 - time-1.11.1.2@sha256:a957467595420495c2dd440d9efa1f58c62277cf9438c7e7a515d7a4c65571ec,6287,直接覆盖快照自带的旧版本,消除多版本冲突
  • 所有配置修改完成后,先执行 stack clean --full 清理本地缓存的构建产物,再重新执行安装命令,避免旧缓存干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:51:02