我在沙盒中有一个应用程序。 Cabal依赖项没有约束,因此cabal install --only-dependencies
为我提供了最新的包。
经过一段时间后,我想将我的依赖项升级到最新版本,但在此之前我想看看哪些依赖项实际上已更改为更新版本。
我当然可以手动检查所有这些。但我宁愿看到一个很好的列表,列出将要升级的东西。
我认为cabal install --upgrade-dependencies --only-dependencies --dry-run
是这样做的方法。我希望它能给我一个包含在我的沙箱中的新版本的所有软件包的列表。但它永远不会奏效!我的意思是,它只是表示所有依赖关系都是最新的,而它们显然不是。我做错了什么或遗失/误解了什么?
如果我完全破坏了我的沙盒,请重新运行cabal install --only-dependencies
并对冻结文件进行区分,然后我可以看到哪些包被撞到了。但这很愚蠢。那么如何让cabal install --upgrade-dependencies --only-dependencies --dry-run
正常工作并打印所有要升级的软件包而不吹沙盒?广告,如果这些选项不适用于cabal,为什么不删除它们以避免混淆?
谢谢。
答案 0 :(得分:1)
您可以使用cabal list --installed
并将“默认可用版本”与“已安装的版本”进行比较。
不幸的是,cabal的--simple-output
开关不包含该信息,因此为了自动化,您需要一个小的脚本。