From: Michael Moen Date: 2006-08-22T13:09:05+09:00 Subject: Re: installing gems with rake Robert Kuzelj wrote: > is that possible. > google says nothing about it. > > ciao robertj Robert- I'm handling it with a new task and a yml config. sudo rake gems:install ######## gems.rake ######## namespace :gems do require 'rubygems' task :install do # defaults to --no-rdoc --no-ri, set docs=(anything) to build docs docs = (ENV['docs'].nil? ? '--no-rdoc --no-ri' : '') #grab the list of gems/version to check gems = YAML.load_file 'config/gems.yml' gems.each do |gem| # load the gem spec gem_spec = YAML.load(`gem spec #{gem[:name]}`) gem_loaded = false gem_loaded = require_gem gem[:name], gem[:version] rescue nil # if forced # or there is no gem_spec # or the spec version doesn't match the required version # or require_gem returns false # (return false also happens if the gem has already been loaded) if ! ENV['force'].nil? or ! gem_spec or (gem_spec.version.version != gem[:version] and ! gem_loaded) ret = system "gem install #{gem[:name]} -v #{gem[:version]} -y #{docs}" # something bad happened, pass on the message p $? unless ret else puts "#{gem[:name]} #{gem[:version]} already installed" end end end end ######## gems.yml ######## - :name: rails :version: "1.1.6" - :name: fastercsv :version: "0.2.1" - :name: memcache-client :version: "1.0.3" - :name: mongrel :version: "0.3.13.3" - :name: mongrel_cluster :version: "0.2.0" - :name: uuidtools :version: "1.0.0" - :name: ferret :version: "0.9.5" -- Posted via http://www.ruby-forum.com/.