2010-05-06 3 views
2

Только что установленный cucumber 0.7.2 и cucumber-rails 0.3.1 с jruby-1.4.0 на OSX. Когда я запускаю установку пакета, он помещает каталог cucumber-rails в мое основное приложение со всеми кодами/зависимостями gem.Огурцы-рельсы на jruby устанавливают драгоценный камень в корневой каталог приложений с помощью комплекта связи

Прежде всего, это определенно не то, что я хочу, и я не уверен, почему это происходит только для огуречных рельсов.

Во-вторых, если удалить эту папку и просто вручную установить огурца-рельсы, когда я бегу script/generate feature blah я

/Users/bradrobertson/.rvm/rubies/jruby-1.4.0/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:344:in `refresh!': source index not created from disk (RuntimeError) 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:34:in `refresh!' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:29:in `initialize' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/rails/gem_dependency.rb:21:in `new' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/initializer.rb:298:in `add_gem_load_paths' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/initializer.rb:132:in `process' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/initializer.rb:113:in `run' 
    from /Users/bradrobertson/Repos/app/source/trunk/config/environment.rb:13 
    from /Users/bradrobertson/Repos/app/source/trunk/config/environment.rb:1:in `require' 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/commands/generate.rb:1 
    from /Users/bradrobertson/.rvm/gems/jruby-1.4.0/gems/rails-2.3.5/lib/commands/generate.rb:3:in `require' 
    from script/generate:3 

Аналогично работает rake cucumber я получаю

rake aborted! 
source index not created from disk 

Так что-то явно не Работа. Если я добавлю этот каталог cucumber-rails обратно, то мой rake cucumber действительно работает.

Может ли кто-нибудь сказать мне, почему это необходимо для установки драгоценного камня прямо в моем приложении для рельсов? Я никогда не видел этого раньше.

установки
JRuby-1.4.0
огурца-0.7.2
огурца рельсы 0.3.1
пакетирования 0.9.23
Webrat 0.7.1

РЕДАКТИРОВАТЬ

Чтобы добавить к этому, я решил, что мне надоело пытаться заставить это работать, поэтому я удалил все огурцы/огурцы-рельсы из моего Gemfile и reran bundle install. Он по-прежнему создает каталог cucumber-rails, и, кроме того, я не могу ничего запускать, если только этот каталог не присутствует (rake и т. Д.), Иначе я получаю сообщение source index not created from disk.

EDIT2 Я просто заметил, что мой Rails.root/.bundle/config имеет BUNDLE_PATH: cucumber-rails. Кто-нибудь знает, почему это было бы там?

ответ

1

Это связано с тем, как вы устанавливаете вещи с помощью bundler.

вы, вероятно, что-то вроде:

пачки установить огурец-рельсы

Если вы сделаете это пакетирования предполагает, что вы хотите, чтобы ваш пакет поставщика в этой директории внутри вашего проекта.

ваш .bundle/конфигурации , вероятно, следует просто содержать:


BUNDLE_DISABLE_SHARED_GEMS: "1"

Удалив эту папку вы на самом деле удаление вашего сверток.

Просто измените это, как указано выше, и запустите:

комплект установки.

+0

wow полностью забыл об этом вопросе, ты совершенно прав, я случайно начал смотреть в источник связующего только на другой и понял, что здесь происходит. Спасибо, что привлекли это к моему вниманию! – brad

0

Я был в состоянии получить приложение с нуля работает со следующими драгоценными камнями:

$ jruby -S gem list 

*** LOCAL GEMS *** 

actionmailer (2.3.5) 
actionpack (2.3.5) 
activerecord (2.3.5) 
activerecord-jdbc-adapter (0.9.6) 
activeresource (2.3.5) 
activesupport (2.3.5) 
builder (2.1.2) 
bundler (0.9.25) 
cucumber (0.7.2) 
cucumber-rails (0.3.1) 
database_cleaner (0.5.2) 
diff-lcs (1.1.2) 
gherkin (1.0.24) 
jdbc-sqlite3 (3.6.3.054) 
jruby-openssl (0.7) 
json_pure (1.4.3) 
nokogiri (1.4.1) 
rack (1.0.1) 
rack-test (0.5.3) 
rails (2.3.5) 
rake (0.8.7) 
term-ansicolor (1.0.5) 
trollop (1.16.2) 
webrat (0.7.1) 

мне пришлось перейти на Bundler 0.9.25, и я следовал инструкции здесь для использования Bundler с Rails 2:

http://gembundler.com/rails23.html

Вот как мой Gemfile смотрели:

source :gemcutter 
gem "rails", "~> 2.3.5" 
gem 'activerecord-jdbc-adapter', :require => false 
gem 'jdbc-sqlite3', :require => false 

group :development do 
end 

group :test do 
    gem 'cucumber-rails' 
    gem 'webrat' 
    gem 'database_cleaner' 
end 
+0

эй жаль, что у меня не было времени, чтобы проверить это, я доберусь до него, когда смогу – brad