Ошибка установки библиотеки автотестирования не найдена

#ruby-on-rails #rspec #gem #autotest

#ruby-on-rails #rspec #rubygems #автотестирование

Вопрос:

Я не могу заставить автотест работать. Rspec работает нормально.

Во-первых, я не могу заставить команду autotest / Rspec работать с командой bundle exec, поэтому я изменил Gemfile, включив в него следующий код.

     source 'http://rubygems.org'

    gem 'rails', '3.0.7'
    gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3'

    group :development do
      gem 'rspec-rails', '2.5.0'
    end

    group :test do
    gem 'rspec', '2.5.0'
      gem 'webrat', '0.7.1'
    end

    group :development, :test do
      gem 'autotest'
    end
  

Затем я попытался установить автотестирование,

     $ [sudo] gem install autotest -v 4.4.6
  

Я получаю следующую ошибку.

     Successfully installed autotest-4.4.6
    1 gem installed
    Installing ri documentation for autotest-4.4.6...
    File not found: lib
    ERROR:  While generating documentation for autotest-4.4.6
    ... MESSAGE:   exit
    ... RDOC args: --ri --op /Library/Ruby/Gems/1.8/doc/autotest-4.4.6/ri --main README.txt lib History.txt Manifest.txt README.txt --title autotest-4.4.6 Documentation --quiet
  

И впоследствии я установил growl и fsevent

     $ [sudo] gem install autotest-rails-pure -v 4.1.2
    $ [sudo] gem install autotest-fsevent -v 0.2.4
    $ [sudo] gem install autotest-growl -v 0.2.9
  

Они были установлены

Я изменил файл .autotest в моем корневом каталоге,

     require 'autotest-growl'
    require 'autotest-fsevent'
  

Теперь, когда я пытаюсь запустить

     $ bundle exec autotest
  

Я получаю следующую ошибку.

 loading autotest/rspec2
/Users/toad/.autotest:1:in `require': no such file to load -- autotest/growl (LoadError)
    from /Users/toad/.autotest:1
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/lib/autotest.rb:311:in `load'
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/lib/autotest.rb:311:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/lib/autotest.rb:310:in `each'
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/lib/autotest.rb:310:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/rspec-core-2.5.2/lib/autotest/rspec2.rb:11:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/lib/autotest.rb:241:in `new'
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/lib/autotest.rb:241:in `run'
    from /Library/Ruby/Gems/1.8/gems/ZenTest-4.5.0/bin/autotest:6
    from /usr/bin/autotest:19:in `load'
    from /usr/bin/autotest:19
  

Чего мне не хватает?

Ответ №1:

autotest-growl это отдельный gem от autotest , поэтому вам понадобится отдельная запись для него в вашем Gemfile :

 gem 'autotest-growl'
  

Для Gemfile вас также может потребоваться отдельная autotest-fsevent запись.