настройки драгоценного камня - PullRequest
0 голосов
/ 04 сентября 2010

Я добавил некоторые функции кеширования в geokit gem и использовал gemcutter для создания копии badnaam-geokit. Единственное изменение - в Geocoders.rb, который работает нормально, если я просто изменяю его локально.

Тем не менее, после того, как я опубликовал его в rubygems и установил его, а в файле environment.rb (config.gem "badnaam-geokit") я указал его как «badnaam-geokit», я получил неприятный ответ.

Есть идеи?

Вот моя вилка на github

http://github.com/badnaam/geokit-gem

и вот драгоценный камень. http://rubygems.org/gems/badnaam-geokit

no such file to load -- badnaam-geokit
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:208:in `load'
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:307:in `load_gems'
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:307:in `each'
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:307:in `load_gems'

Ответы [ 2 ]

1 голос
/ 04 сентября 2010

Пока ваш камень изменил имена, имя библиотеки не изменилось. Ваша строка config.gem сообщает Rails о загрузке гема, а затем require 'badnaam-geokit', но в вашем геме нет файла с таким именем.

Исправьте это, используйте опцию :lib для config.gem:

config.gem 'badnaam-geokit', :lib => 'geokit'

Кроме того, добавление драгоценных камней в Rubygems для таких изменений не приветствуется. Вместо этого я бы предложил вам переключить ваш проект Rails на , использовать Bundler (который прекрасно работает с Rails 2.3.5 ), а затем использовать опцию :git, чтобы загрузить гем прямо с вашего Github. вилка.

0 голосов
/ 04 сентября 2010

Я использовал опцию: lib.

Так вот что сработало

config.gem "badnaam-geokit",: lib => "geokit"

...