Rake freeze_gems errors


#1

I’m having problems trying to freeze local rails gem to my app with:

rake freeze_gems

On OSX 10.4.6 i get the following error:

Illformed requirement [=#<Gem::Specification name=rails version=1.1.0>]

This is the full output:

Freezing to the gems for Rails 1.1.0
rm -rf vendor/rails
mkdir -p vendor/rails
cd vendor/rails
Unpacked gem: ‘activesupport-1.3.0’
mv activesupport-1.3.0 activesupport
Unpacked gem: ‘activerecord-1.14.0’
mv activerecord-1.14.0 activerecord
Unpacked gem: ‘actionpack-1.12.0’
mv actionpack-1.12.0 actionpack
Unpacked gem: ‘actionmailer-1.2.0’
mv actionmailer-1.2.0 actionmailer
Unpacked gem: ‘actionwebservice-1.1.0’
mv actionwebservice-1.1.0 actionwebservice
ERROR: While executing gem … (ArgumentError)
Illformed requirement [=#<Gem::Specification name=rails
version=1.1.0>]
rake aborted!
exit

Any ideas?

Sebastian


#2

Any ideas?

AFAIK this will be fixed with Rails 1.1.1. Until then you have to use
rake rails:freeze:edge

Sebastian

Jonathan


#3

On Wednesday 05 Apr 2006 09:17, Jonathan W. wrote:

Any ideas?

AFAIK this will be fixed with Rails 1.1.1. Until then you have to use
rake rails:freeze:edge

See this ticket, which is the same bug:
http://dev.rubyonrails.org/ticket/4458

Since it’s a very simple fix, rather than bother with the patch (which I
think
won’t work against this version of the file anyway, since it’s expecting
the
edge not gem version), I just applied the fix manually by editing:

/usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/tasks/framework.rake

That’s the path on Gentoo Linux - might be different for you.

Anyway, find line 9 that says:

rails = version = ENV[‘VERSION’] ?

… and change it to…

rails = ( version = ENV[‘VERSION’] ) ?

… and you can freeze from 1.1 gem Rails. :slight_smile:

~Dave

Dave S.
Rent-A-Monkey Website Development
http://www.rentamonkey.com/

PGP Key: http://www.rentamonkey.com/pgpkey.asc


#4

I’m trying to get Capistrano going on my development box by following
the manual at http://manuals.rubyonrails.com/read/chapter/98#page297.
When I go to execute the setup task

rake remote:exec ACTION=setup

I get

no such file to load -- openssl

I found a post on this list where some people had success fixing this
problem by

apt-get install libopenssl-ruby

Since I’m running Ubuntu, I tried this suggestion. Alas, this doesn’t
solve the problem for me. Ruby looks for openssl.so in
/usr/local/lib/ruby/1.8/i686-linux, but apt put it in
/usr/lib/ruby/1.8/i486-linux.

Unfortunately, simply copying the .so to the right directory isn’t good
enough. Then I get

/usr/local/lib/ruby/site_ruby/1.8/rubygems/security.rb:18: uninitialized
constant OpenSSL::Digest::SHA1 (NameError)

openssl.rb is in /usr/lib/ruby/1.8. Is that where it’s supposed to be?
If not, what did I do wrong that it ended up there?

BTW, I’m running ruby 1.84 w/rails 1.1 and rake 0.7.1.

Thanks!
Nate


#5

Thanks. Seems to have fixed it.


#6

Nate McNamara wrote:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/security.rb:18:
uninitialized
constant OpenSSL::Digest::SHA1 (NameError)

openssl.rb is in /usr/lib/ruby/1.8. Is that where it’s supposed to
be?
If not, what did I do wrong that it ended up there?

BTW, I’m running ruby 1.84 w/rails 1.1 and rake 0.7.1.

This is a frank guess, but do you have the net-ssh, and net-sftp gems
installed?

I recall that there were some problems with the Capistrano gem where the
dependencies were not specified (or weren’t specified correctly.)

Give that a try and see what happens.

Good luck,

Ray


#7

Sebastian F. wrote:

I’m having problems trying to freeze local rails gem to my app with:

rake freeze_gems

That syntax is known to be buggy in rails 1.0. The problems can vary
depending on timing.

Use this syntax in rails 1.0:

rake freeze_gems REVISION=4170

where 4170 is whatever revision you prefer.

With rails 1.1, use this syntax:

rake rails:freeze:edge REVISION=4170