rake gems:freeze GEM=pdf-writer not working on MAC

Hi, I am using MAC 10.6 OS. I want to freeze the my application gems so that it will nor required to install again when I go to production. For freezing of gems I am going through the tutorial "http://gemsonrails.rubyforge.org/"

But whenever I am doing "rake gems:freeze GEM=pdf-writer" it is giving me following error:-

DEPRECATION WARNING: Rake tasks in vendor/plugins/gemsonrails/tasks, vendor/plugins/gemsonrails/tasks, vendor/plugins/gemsonrails/tasks, and vendor/plugins/gemsonrails/tasks are deprecated. Use lib/tasks instead. (called from /Library/Ruby/Gems/1.8/gems/rails-2.3.8/lib/tasks/rails.rb:10) rake aborted! wrong number of arguments (2 for 1)

(See full trace by running task with --trace)

But the same command work on windows. Can anyone help me out for this.

Thanks, Tushar

Try posting the complete trace (as suggested by rake) as it will contain a lot more information. You might also want to look into using either the Rails 2 gem system (config.gem and 'rake gems:unpack') or Bundler (the new solution preferred by Rails 3).

--Matt Jones

Hi, Here is the complete trace of error:- Can anyone help me out what is wrong with my configuration?

administrators-macbook:browsercms_demo Administrator$ rake gems:freeze GEM=pdf-writer --trace (in /railsproject/bcms/browsercms_demo) DEPRECATION WARNING: Rake tasks in vendor/plugins/gemsonrails/tasks, vendor/plugins/gemsonrails/tasks, vendor/plugins/gemsonrails/tasks, and vendor/plugins/gemsonrails/tasks are deprecated. Use lib/tasks instead. (called from /Library/Ruby/Gems/1.8/gems/rails-2.3.8/lib/tasks/rails.rb:10) ** Invoke gems:freeze (first_time) ** Execute gems:freeze rake aborted! wrong number of arguments (2 for 1) /railsproject/bcms/browsercms_demo/vendor/plugins/gemsonrails/tasks/gems_freeze.rake:41:in `get_path' /railsproject/bcms/browsercms_demo/vendor/plugins/gemsonrails/tasks/gems_freeze.rake:41 /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run' /Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31 /usr/bin/rake:19:in `load' /usr/bin/rake:19

Thanks, Tushar

It looks like Gem::Commands::UnpackCommand#get_path changed it's signature (from 2 args to 1) fairly recently - and much more recently than gemsonrails was last updated (July 2008 according to Github).

You'll definitely want to switch to a different mechanism for vendoring gems.

--Matt Jones

Hi, If that is the probelm then the command should also not work on windows. But it is working on windows. What is the reason? Thanks Tushar

Matt Jones wrote:

I suspect that you've got different versions of Rubygems on the two machines.

1.3.6 has the 2-arg version: http://rubygems.rubyforge.org/svn/tags/REL_1_3_6/lib/rubygems/commands/unpack_command.rb

While 1.3.7 has the 1-arg version: http://rubygems.rubyforge.org/svn/tags/REL_1_3_7/lib/rubygems/commands/unpack_command.rb

--Matt Jones

Hi, I just done the gem list. My gem list shows I have "rubygems-update(1.3.7)". How can I install rubygems version of 1.3.6?

Thanks, Tushar

Hi, I have installed rubygems-update 1.3.6. Still the issue has not resolved.

Any other way.

Thanks, Tushar