Failing plugins discover

I wanted to install some plugins to Rails, and I was surprised with following errors:


(eval):3:in `each': undefined method `[]' for nil:NilClass (NoMethodError)
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:658:in `scrape'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:632:in `parse!'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:631:in `parse!'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:447:in `parse!'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:463:in `parse!'
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb:871
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'
        from ./script/plugin:3

What the heck? Few days ago in other application, on the same development machine discover was successful.

I’ve jumped into Ruby, and in /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.2/lib/commands/plugin.rb I’ve discovered, that without any parameters plugin discover connects to and fetches list of servers with plugins. Now, this error become looking more reasonable – it looked like script got wrong input data (something empty after parsed wiki page), and throws exceptions.

Since RoR wiki is sometimes attacked with spamers, I noticed on Plugins page last modified by: Anonymous Coward. I went Back In Time and gave this link as an argument for plugin script and it worked:

/script/plugin discover

As You can see, in my case rigth page version has number 558. Probably every time (ohh there can be plenty other errors preventing script to be successful) this command will succeed, but remember, version 558 has some plugin list, and newer versions of this page will have more plugins. So remember about this, when You copy&paste this link.

Join the Conversation


Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.