几天前,我从RVM切换到rbenv。我现在有一个关于rails项目的rspec问题。我收到了这条消息:
You have already activated rspec-core 3.0.3, but your Gemfile requires rspec-core 2.14.8.
我试着这样做:
gem install rspec-core '2.14.8'
但后来我收到了这条错误消息:
ERROR: Could not find a valid gem '2.14.8' (>= 0) in any repository
之后rbenv只使用RSpec 3.0.3。
因此,现在在我的Rails项目中运行测试的唯一方法是使用:
bundle exec rspec spec
有没有办法在已安装的RSpec 3.0.3旁边安装RSpec 3之前版本的RSpec,这样我只需输入以下命令就可以再次在我的Rails项目中运行测试:
rspec spec
我正在使用Rails 4.1.1。
答案 0 :(得分:0)
Rails 4在bundler和spring下运行的方法是在bin目录中运行脚本。要为rspec生成这样的脚本,请安装spring-commands-rspec gem并运行bundle exec spring binstub --all
。如果当前目录是rails项目的根目录,则只需键入bin/rspec
。
附注:RSpec默认运行spec目录,因此您无需键入spec
。
要保存输入bin/
,请以常规方式将您的Rails项目的bin目录添加到PATH中,或使用direnv。
你可能想要rspec-rails,而不仅仅是RSpec。如果是这样,既然您正在使用Rails 4.1.x,那么您需要rspec-rails 2.99,它需要rspec 2.99.x,而不是2.14.x. (记录在rspec-rails' Changelog。)