What’s the best workaround for not having “cabal upgrade”?

This bit of shell hackery works for me on OS X:

cabal list --simple-output --installed | awk '{print $1}' | uniq | xargs -I {} cabal install {} --reinstall

EDIT: Now forces a reinstall, and avoids installing a package more than once when more than one version is present. Thanks for the comments!

EDIT YEARS LATER: Now that Cabal sandboxes and Stack exist, I strongly recommend against trying to upgrade packages in place. You’ll end up with far fewer headaches if you instead can just wipe out an existing sandbox and reinstall up-to-date dependencies.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)