Ruby on rails 您已经激活了rspec支持3.0.0.beta1,但您的GEM文件需要rspec支持3.0.0.beta1

Ruby on rails 您已经激活了rspec支持3.0.0.beta1,但您的GEM文件需要rspec支持3.0.0.beta1,ruby-on-rails,ruby,rspec,gem,Ruby On Rails,Ruby,Rspec,Gem,当我跑的时候 rspec spec/ 在命令行中,我收到以下错误: 您已经激活了rspec支持3.0.0.beta1,但是您的Gemfile需要rspec支持3.0.0.beta1。使用bundle exec可以解决这个问题(Gem::LoadError) 我试着使用bundle exec,就像错误提示的那样,但没有效果。奇怪的是,它告诉我它需要一个已经激活的版本。试试完整的命令 bundle exec rspec spec/ 如果此选项不起作用,请尝试从头开始删除Gemfile.lock

当我跑的时候

rspec spec/ 
在命令行中,我收到以下错误:

您已经激活了
rspec支持3.0.0.beta1
,但是您的
Gemfile
需要
rspec支持3.0.0.beta1
。使用
bundle exec
可以解决这个问题<代码>(Gem::LoadError)


我试着使用bundle exec,就像错误提示的那样,但没有效果。奇怪的是,它告诉我它需要一个已经激活的版本。

试试完整的命令

bundle exec rspec spec/

如果此选项不起作用,请尝试从头开始删除
Gemfile.lock
文件和
bundle安装。然后重试。

对我来说,预编
bundle exec
似乎是一种解决方法,而不是问题的解决方案

我在项目的根目录中添加了一个
.ruby gemset
文件(包含任意gemset名称),解决了这个问题。我相信你可以做到以下几点:

echo 'my-project-name' > .ruby-gemset
cd ..
cd my-project-directory
gem install bundler
bundle install
rspec spec

我怀疑他只是使用了
bundle exec
命令,而没有使用
rspec spec/
部分。我在Gemfile中摆弄了一些东西。我删除了gem'rspec rails'之后的'2.0.0.beta.18'。当我使用bundle exec运行命令时,它可以工作。如果没有,它不会。Sevensacat是正确的,我最初确实键入了所有内容,但仍然不起作用。谢谢,各位。谢谢。我更新了答案,建议删除Gemfile.lock。有时候会把事情搞砸。删除Gemfile.lock也不是一个好办法。除非您锁定了Gemfile中的大多数Gem(大多数人不会这样做),否则最终可能会出现完全不同的版本以及大量的不兼容和痛苦。Gemfile.lock并不是真正的问题,而是Gemfile中的gems定义。为了避免这样的问题,应该真正表达要加载的gem版本。否则,很快就会出现不兼容。