我想升级所有包,而不仅仅是特定的包cabal install --upgrade-dependencies
.
acf*_*zer 51
在OS X上,这个shell hackery对我有用:
cabal list --simple-output --installed | awk '{print $1}' | uniq | xargs -I {} cabal install {} --reinstall
Run Code Online (Sandbox Code Playgroud)
编辑:现在强制重新安装,并避免在存在多个版本时多次安装包.感谢您的评论!
编辑年代:现在Cabal沙箱和Stack存在,我强烈建议不要尝试升级软件包.如果您只是擦除现有的沙箱并重新安装最新的依赖项,那么您最终会遇到更少的麻烦.
该.cabal/world
文件包含显式安装的每个软件包的列表(在cabal install
命令中列出,而不是通过依赖项).修剪它以删除仅作为依赖项使用的包,不推荐使用的包以及您宁愿升级的版本锁定包.
Cabal不知道如何清理自己,但你可以删除几乎所有东西.下一个命令将从.cabal/packages
(tarball缓存)重新安装:
cp -t bin .cabal/bin/cabal
rm -rf .cabal/{bin,lib,share} .ghc/*-*-*/
ghc-pkg check |&egrep -- '^[A-Za-z0-9-]+-[0-9]' |xargs -n1 --no-run-if-empty ghc-pkg unregister
Run Code Online (Sandbox Code Playgroud)
现在重新安装手动安装的所有内容:
cabal install world --upgrade-dependencies --force-reinstalls
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9805 次 |
最近记录: |