Как предотвратить повторную установку второго "gem install XXX"? - PullRequest
2 голосов
/ 20 августа 2010

gem install XXX, кажется, запускает процесс установки, даже если пакет уже установлен.то есть, если я сделаю

$ gem install chef
...
$ gem list | grep chef
chef (0.9.8)
$ gem install chef
...

, второй gem install chef, кажется, снова установит chef!

Как я могу получить это, чтобы привести к noop, и сообщение "chef уже установлен"или аналогично тому, как работает большинство инструментов управления пакетами?

Я могу добиться того, чего хочу, с помощью

$ gem list | grep chef > /dev/null || gem install chef

, но, должно быть, есть лучший способ, которого мне не хватает.

1 Ответ

0 голосов
/ 20 августа 2010

Согласно файлу /lib/rubygems/commands/install_command.rb из источников RubyGems, другого "легального" способа для этого не существует, поэтому ваш лучший - лучший.

...