错误:执行gem时...(NoMethodError)未定义的方法`spec'代表nil:NilClass

时间:2011-11-29 01:05:29

标签: ruby ubuntu rubygems watir-webdriver apt

我正在尝试使用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 个答案:

答案 0 :(得分:4)

问题是由于下载存储在缓存中已损坏,因此即使在gem uninstall之后并重新安装,错误仍然存​​在。为了强制重新下载,我通过在命令gem env的输出中的GEM PATHS下检查来清空找到的缓存目录。

答案 1 :(得分:2)

你应该尝试使用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