Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I fix this error? config.gem: Unpacked gem authlogic-2.1.3 in vendor/gems has no specification file

I get this error when launching my Mongrel server...

$ script/server --debugger
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
config.gem: Unpacked gem authlogic-2.1.3 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
=> Debugger enabled
=> Call with -d to detach
=> Ctrl-C to shutdown server

When I run rake gems:refresh_specs like it suggests I get another error though:

rake aborted!
undefined method `installed_source_index' for #<Gem::SourceIndex:0x100551a58>

Any thoughts on how to fix this?

like image 449
Ganesh Shankar Avatar asked Feb 17 '10 06:02

Ganesh Shankar


4 Answers

I am not sure why it is broken in Authlogic, but I had to generate it myself.

Try this in your Rails project:

$prompt> cd vendor/gems/authlogic-2.1.3

$prompt> gem specification authlogic > .specification

like image 131
Mike Benner Avatar answered Oct 17 '22 23:10

Mike Benner


I'm just going to chime in here, because I experience the same thing today, except with a different gem.

I was updating hoptoad to use the notifier as a gem instead of a plugin, and one of the instructions from the Github page is to unpack the gem into vendor/gems.

I'm on Mac OS X, and I unpacked the gem as so:

$> rake gems:unpack GEM=hoptoad_notifier

After I did this, I got the error specified, and the gem didn't actually unpack (it created the directory in vendor/gems, but didn't actually unpack the gem).

I deleted the directory from vendor/gems, and tried again as:

$> sudo rake gems:unpack GEM=hoptoad_notifier

Worked this time, unpacked properly, and no error.

like image 29
humandoing Avatar answered Oct 17 '22 21:10

humandoing


I believe this is the reason: http://github.com/binarylogic/authlogic/commit/05e452472616bd60bb81affc75a1cb3d95cf7857

The owner purposely added the gitignore on the .specification file. I'm guessing u freeze this particular gem and submit it in your code branch under vendor/gems/..and as expected, git ignore this particular file per request

like image 3
tomtom Avatar answered Oct 17 '22 23:10

tomtom


I had to pop into vendor/gems/authlogic and remove '.specification' from the .gitignore

Once you've done that you can run rake gems:refresh_specs

Only problem is that the next time you upgrade this gem the bad .gitignore comes back

like image 1
Gazza Avatar answered Oct 17 '22 23:10

Gazza