ОШИБКА: при выполнении gem ... (NoMethodError) неопределенный метод `spec 'для nil: NilClass - PullRequest
5 голосов
/ 29 ноября 2011

Я пытаюсь начать работу с ruby ​​и Watir-webdriver для автоматизации тестирования.

sudo apt-get install ruby rubygems

sudo gem install watir-webdriver

Всякий раз, когда я устанавливаю gem, я получаю следующие ошибки:

[/usr/lib/ruby/gems/1.8/specifications/selenium-webdriver-2.13.0.gemspec] isn't a Gem::Specification (NilClass instead).
ERROR:  While executing gem ... (NoMethodError)
    undefined method `spec' for nil:NilClass

Ответы [ 2 ]

4 голосов
/ 29 ноября 2011

Проблема была связана с тем, что поврежденные загрузки были сохранены в кеше, поэтому даже после gem uninstall и переустановки ошибка сохранялась. Для принудительной повторной загрузки я очистил каталоги кеша, которые были найдены, проверив в GEM PATHS вывод команды gem env.

.
2 голосов
/ 29 ноября 2011

Вы должны попробовать использовать Ruby 1.9.x

Самый простой способ - использовать RVM:

sudo apt-get install git
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
rvm install 1.9.2
rvm use 1.9.2
gem install watir-webdriver
...