Ruby cucumber--tag=@homepage\u page--format progress--format html--out=reports/feature.html无法加载这样的文件--rspec(LoadError)

Ruby cucumber--tag=@homepage\u page--format progress--format html--out=reports/feature.html无法加载这样的文件--rspec(LoadError),ruby,rspec,cucumber,Ruby,Rspec,Cucumber,当我尝试生成HTML报告时,出现以下错误: cucumber --tag=@homepage_page --format progress --format html --out=reports/feature.html cannot load such file -- rspec (LoadError) 这是我的env.rb:- RubyGems Environment: - RUBYGEMS VERSION: 2.6.11 - RUBY VERSION: 2.0.0 (2015-1

当我尝试生成HTML报告时,出现以下错误:

cucumber --tag=@homepage_page --format progress --format html --out=reports/feature.html cannot load such file -- rspec (LoadError)
这是我的env.rb:-

RubyGems Environment:
  - RUBYGEMS VERSION: 2.6.11
  - RUBY VERSION: 2.0.0 (2015-12-16 patchlevel 648) [universal.x86_64 darwin16]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - USER INSTALLATION DIRECTORY: /Users/eun081/.gem/ruby/2.0.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - SPEC CACHE DIRECTORY: /Users/eun081/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-16
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/eun081/.gem/ruby/2.0.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-document"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/eun081/.rvm/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Users/eun081/.rvm/bin
这是我的gem文件:-

 require 'rspec'
    require 'watir-webdriver'
    require 'cucumber'
    require 'rake'
    require 'spreadsheet'
    require 'yaml'
    require 'page-object'
    require 'yaml'

答案就在你在评论中给出的gem列表的第一条评论“是否安装了rspec?”中,看起来你安装了rspec的某些部分,但没有安装基本rspec gem本身

您需要运行命令
gem install rspec
(或者,如果您在列出gem文件的目录中,您应该能够只运行Bundle install,但它确实需要来自该目录,bundler才能找到gem文件)

很明显,当被问及rspec时,您认为您已经安装了rspec,但错误表明并非如此。如果您需要更多证据证明这是问题所在,请参阅下文

在刚才没有安装rspec的干净系统上,我最初的
gem列表
输出显示名称中没有带rspec的gem

然后我运行了
gem install rspec
,之后当我运行
gem list rspec
时,我得到了以下结果

source "http://rubygems.org"
    gem of "rake"
    gem "cucumber"
    gem "rspec"
    #gem "watir-webdriver"
    gem 'selenium-webdriver','~>2.53.0'
    gem 'watir-webdriver','~>0.9.1'
    gem 'spreadsheet'
    gem 'rubyXL'
    gem 'roo'
    gem 'page-object'
    gem 'require_all'
    gem 'faker'
    gem 'parallel_tests', '~> 2.2', '>= 2.2.2'
    gem 'nokogiri', '1.3.3'
然后,我可以启动一个IRB会话,并执行
要求“rspec”
的操作,其工作原理如下

C:\Users\chuckv>gem list rspec

*** LOCAL GEMS ***

rspec (3.6.0)
rspec-core (3.6.0)
rspec-expectations (3.6.0)
rspec-mocks (3.6.0)
rspec-support (3.6.0)
如果我运行
gem uninstall rspec
,那么它只会删除基本rspec gem,剩下其他的,创建一个
gem列表
输出,看起来与您在注释中输入的内容类似。如果我启动了一个IRB会话,并且
要求“rspec”
那么我得到的错误基本上与您所得到的相同(无cucumber调用堆栈)

C:\Users\chuckv>gem列表rspec
***本地宝石***
rspec核心(3.6.0)
rspec期望值(3.6.0)
rspec模拟(3.6.0)
rspec支持(3.6.0)
C:\Users\chuckv>irb
irb(主):001:0>要求“rspec”
LoadError:无法加载这样的文件--rspec
来自C:/Ruby22/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
来自C:/Ruby22/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
来自(irb):1
来自C:/Ruby22/bin/irb:11:in`'

如果我随后运行
gem install rspec
我会在
gem list rspec
的输出中返回
rspec
,require命令再次工作。

是否安装了
rspec
是的。是否安装了。请编辑您的问题并包括
env.rb
?我还添加了env.rb和gem文件,如果您需要什么,请告诉我。运行命令
gem list
,并验证rspec是否已列出。如果没有,并且安装了bundler,则运行
bundle install
C:\Users\chuckv>gem list rspec

*** LOCAL GEMS ***

rspec (3.6.0)
rspec-core (3.6.0)
rspec-expectations (3.6.0)
rspec-mocks (3.6.0)
rspec-support (3.6.0)
C:\Users\chuckv>irb
irb(main):001:0> require 'rspec'
=> true
C:\Users\chuckv>gem list rspec

*** LOCAL GEMS ***

rspec-core (3.6.0)
rspec-expectations (3.6.0)
rspec-mocks (3.6.0)
rspec-support (3.6.0)

C:\Users\chuckv>irb
irb(main):001:0> require 'rspec'
LoadError: cannot load such file -- rspec
        from C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from (irb):1
        from C:/Ruby22/bin/irb:11:in `<main>'