我对Cabal的工作原理感到困惑。我过去常常打包管理器,这些管理器在其核心功能中具有轻松更新所有已更改的软件包的能力,或者至少可以在我的系统上获得可用更新的软件包列表。但是Cabal似乎缺乏这种功能。我错过了什么吗?
有办法:
答案 0 :(得分:10)
cabal中缺少许多标准的包管理功能。这是其中之一,并且(传递)删除包是另一种。党的路线是cabal旨在成为一个自动构建工具,仅此而已;虽然随着岁月的流逝,这条线变得越来越薄。
如果您知道要升级的软件包,可以;通常cabal update
和cabal install those packages
将从Hackage中获取最新的软件包列表,并尝试查找安装所请求软件包的最新版本的安装计划。您可以在不使用cabal install --dry-run those packages
执行安装计划的情况下询问安装计划;如果它看起来没有选择你想要的版本,你可以添加约束,如
cabal install those packages --constraint 'those>=9000'