views:

187

answers:

1

I think this should be working.

environment.rb

config.gem "hoptoad_notifer", :version => '=2.1.2'

list of installed gems:

$ gem list hoptoad_notifier

*** LOCAL GEMS ***

hoptoad_notifier (2.1.2)

Output of rake:gems

$ rake gems
(in /rails/appdir)
 - [R] hoptoad_notifier = 2.1.2

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

Unpacking:

$ rake gems:unpack
(in /rails/appdir)
/rails/appdir (master)
$
#  that is, no result; immediate return

Why won't this gem unpack? The app starts up and I can run rake hoptoad:test just fine, so it's loading okay from the system gem. I just want to vendorize everything for deployment.

+2  A: 

This was a pre-rails 1.0 app and I hadn't run rake rails:update recently.

I did and it added this line:

# boot.rb
Rails::GemDependency.add_frozen_gem_path

That tells Rails to check vendor/gems for frozen gems, or something.

Then I could see the gem as installed and unpack it as expected:

$ rake gems
(in /rails/appdir)
- [I] hoptoad_notifier = 2.1.2

$ rake gems:unpack
(in /rails/appdir)
Unpacked gem: '/rails/appdir/vendor/gems/hoptoad_notifier-2.1.2'
wesgarrison