I have a monit config that tries to stop/start mongrel instances like this:
start program = "/usr/bin/mongrel_rails cluster::start -C path-to-mongrel_cluster.yml --clean --only PORT" stop program = "/usr/bin/mongrel_rails cluster::stop -C path-to-mongrel_cluster.yml --clean --only PORT"
I have the latest mongrel_cluster gem installed (1.0.5), and yet mongrel_rails kept throwing errors about –clean and –only:
invalid option: --clean for command 'cluster::start' invalid option: --only for command 'cluster::start'
Turns out I had an older mongrel_cluster gem installed as well:
$ sudo gem cleanup mongrel_cluster Cleaning up installed gems... :0:Warning: Gem::SourceIndex#search support for Regexp patterns is deprecated Attempting to uninstall mongrel_cluster-0.2.1 Successfully uninstalled mongrel_cluster-0.2.1 Clean Up Complete
After running gem cleanup, the mongrel_rails commands above started working.
This kind of code behaviour irks me – it’s not intuitive. It does not help that ‘gem list’ suggests that having multiple versions of a gem installed is not a problem – and it usually is not. I guess the mongrel_cluster gem is an exception. File this one under ‘good to know’…