我有一个a script,它每天部署一次Haskell程序。它目前做的是:
cabal update
cabal install --only-dependencies
cabal configure
cabal build这确保它具有最新的包索引列表,升级project.cabal中下限已更改的任何依赖项,并构建代码。
但是,我真的很想升级任何具有新的合适版本的依赖项。
--upgrade-dependencies,但它拒绝升级任何内容,因为它会破坏现有包。--force-reinstalls结合使用,但它安装了新版本的template-haskell (不是一个好主意),并且像QuickCheck这样的东西将无法再编译。自动升级包的正确方式是什么?
发布于 2018-06-07 04:55:02
您可以使用cabal new-build,如果您只想升级大多数依赖项,那么在cabal.project.freeze文件中冻结您希望保持不变的少数依赖项。
cat <<EOF >cabal.project.freeze
constraints: template-haskell == 2.13.0.0
EOF和
cabal update
# Perhaps rm -rf dist-newstyle if you want a completely fresh build
cabal new-build --upgrade-dependencieshttps://stackoverflow.com/questions/50729015
复制相似问题