Windows下安装hsdev适配SublimeHaskell遇依赖冲突求助
解决SublimeHaskell的hsdev版本冲突与安装问题
我来帮你捋清楚这个问题的根源:你当前使用的GHC 8.10.2自带的template-haskell版本是2.16.0.0,但SublimeHaskell要求的hsdev 0.3.3.x明确约束了template-haskell >=2.11.0 && <2.16——而GHC和template-haskell是强绑定的,每个GHC版本对应固定的template-haskell版本,所以直接用系统的cabal安装会触发依赖冲突。
下面是几个可行的解决办法,按推荐程度排序:
方法1:用Stack安装兼容版本的hsdev(最推荐)
Stack可以独立管理不同的GHC环境,不会和系统已有的Haskell环境冲突,步骤如下:
- 如果你还没装Stack,用Chocolatey安装:
choco install stack - 安装对应GHC 8.8.x的hsdev(这个版本的
template-haskell是2.15.x,刚好符合hsdev的要求):
这里的stack install hsdev --resolver lts-16.31lts-16.31是Haskell Stack的长期支持版本,对应GHC 8.8.4。 - 确认Stack的bin目录已经加入系统PATH:Windows下这个路径通常是
%APPDATA%\local\bin,如果没加的话手动添加进去,这样SublimeText能找到hsdev。
方法2:降级GHC到兼容版本
如果不想用Stack,可以直接降级系统的GHC到8.8.x版本,步骤:
- 卸载当前的Haskell Platform:
choco uninstall haskell-platform - 安装对应GHC 8.8.4的Haskell Platform版本:
choco install haskell-platform --version 8.8.4.0 - 更新cabal包列表并安装hsdev:
cabal update cabal install hsdev
方法3:尝试安装hsdev的开发版(风险较高)
如果想保留当前GHC版本,可以试试hsdev的最新开发分支,看看是否已经适配了GHC 8.10.x:
- 克隆hsdev的GitHub仓库:
git clone https://github.com/bitc/hsdev.git - 进入仓库目录并尝试构建安装:
注意:这个方法不一定成功,取决于开发者是否更新了依赖约束来支持cd hsdev cabal installtemplate-haskell 2.16.x。
最后一步验证
安装完成后,打开SublimeText,检查SublimeHaskell的设置,确认hsdev的路径指向正确的可执行文件(比如Stack安装的话是%APPDATA%\local\bin\hsdev.exe),重启SublimeText应该就不会再弹出版本错误了。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

