【发布时间】:2015-08-18 16:29:55
【问题描述】:
我对阴谋集团的工作方式感到困惑。我习惯于包管理器,它们的核心功能是能够轻松更新所有已更改的包,或者至少在我的系统上获取可用更新的包列表。但Cabal 似乎缺乏这种功能。我错过了什么吗?
有没有办法:
- 自动或轻松更新所有过时的软件包;或者,如果做不到这一点,
- 获取安装在我的系统上且有可用更新的软件包列表?
【问题讨论】:
-
几乎所有
cabal包都不依赖于最新版本的依赖包,而是依赖于该依赖包的特定版本。Cabal通过下载 required 包版本而不是 最新 包版本来解决依赖关系。 -
@recursion.ninja:有没有办法做(2)——等等,我的数字去哪儿了?! ——也就是说,获取相对于我系统上当前更新的软件包列表?
-
@recursion.ninja:而且,我不确定我是否理解模型。比如说,我拥有的 X 版本(取决于未更改的 a、b 和 c,以及已更改的 p、q 和 r)比当前版本旧,我想要升级它。我该如何继续更新 X? (例如,在 Python 中使用 pip,我只需更新 X、p、q 和 r——或者更简洁地说,更新 X 会更新 p、q 和 r——我就完成了;不用担心。)
-
cabal update && cabal info packageName。查看输出以查看packageName的可用版本号。这将向您显示所有可用版本以及您已安装的版本。要安装特定版本,例如较新的版本,请执行以下操作:cabal install packageName-1.2.3.4其中1.2.3.4是较新的版本号。 -
您应该注意,安装较新版本不会将较新版本链接到依赖
packageName的其他软件包。