Unable to install gems (RuntimeError)

504 views
Skip to first unread message

morgz

unread,
Jun 14, 2011, 7:42:55 AM6/14/11
to rubber
So hello again everyone!

I'm trying to install the complete_mongrel_mysql template.

SO far I've figured out if you're using ruby 1.9.2 you have to change
the mongrel version:

rubber-mongrel.yml to:

# These will probably need to be used by the rubber module used for
the web role (nginx)
mongrel_base_port: 7000
mongrel_count: "#{RUBBER_ENV == 'production' ? 8 : 2}"

roles:
app:
gems: [mongrel --pre, mongrel_cluster]

This installs mongrel fine but hangs on mongrel cluster:

[production.foo.com] executing command
** ERROR: Could not find a valid gem 'mongrel_cluster' (>= 0) in any
repository
** ERROR: Possible alternatives: mongrel_cluster

I SSH'ed into server and manually installed cluster. 'gem install
mongrel_cluster'

Q - Why would mongrel cluster not install from rubber?!?

So this was fine. I now run cap rubber:bootstrap again and get this
error:


* sftp upload complete
* executing "sudo -p 'sudo password: ' bash -l -c 'ruby /tmp/
gem_helper install $CAPISTRANO:VAR$'"
servers: ["production.foo.com"]
[production.foo.com] executing command
** ERROR: While executing gem ... (Gem::CommandLineError)
** Please specify at least one gem name (e.g. gem build GEMNAME)
** /tmp/gem_helper:37:in `<main>': Unable to install gems
(RuntimeError)
command finished in 888ms
failed: "/bin/bash -l -c 'sudo -p '\\''sudo password: '\\'' bash -l -
c '\\''ruby /tmp/gem_helper install open4 aws-s3 bundler rubber:1.14.1
memcache-client mysql mongrel --pre mongrel_cluster'\\'''" on
production.foo.com

Any ideas?

Thanks

Dan

Kevin Menard

unread,
Jun 14, 2011, 11:30:18 PM6/14/11
to rubbe...@googlegroups.com
Hi Dan,

I'm pretty sure throwing "--pre" in the gem list is confusing the "gem_helper install" command.  It just splits on the spaces and considers each item there a gem to install.

Is there a specific version of the --pre gem that you can install?  If so, rubber has a standard way of handling locking down versions.  It'd be something like:

gems: [[mongrel, 'pre_release_version'], mongrel_cluster]

Honestly, based on the output below, I have no idea how you ever got to the point of installing mongrel_cluster.  Rubber would have bombed out well before that.  If I had to guess, you tried to install mongrel_cluster before you added the "--pre" line for mongrel and mongrel_cluster failed to install because it depends on mongrel, which you noted couldn't be installed via rubber out-of-the-box.

--
Kevin



morgz
June 14, 2011 7:42 AM
Reply all
Reply to author
Forward
0 new messages