gem install XXX
seems to run the installation process even if the package is already installed. i.e. if I do
$ gem install chef
...
$ gem list | grep chef
chef (0.9.8)
$ gem install chef
...
the second gem install chef
seems to install chef
again!
How can I get this to result in a noop and the message "chef is already installed", or similar, the way most package management tools work?
I can achieve what I want via
$ gem list | grep chef > /dev/null || gem install chef
but there must be a better way that I'm missing.