我有一些chef单元测试,可以通过以下命令运行:chef exec rspec
但是,我正在尝试从TeamCity运行这些文件,并且我使用的是rakefile。当我尝试执行rakefile时,测试文件中的require 'chefspec‘行导致错误"cannot load such file -- chefspec (LoadError)"
我知道chefspec已经安装好了。我是Ruby,chefspec,rspec的新手。我知道这里提到了一个gemspec文件,我尝试在目录中创建一个文件,在这个目录中我可以运行命令chef exec rspec来执行测试。然而,当我尝试运行bundle install时,我得到了错误Could not locate Gemfile or .bundle/ directory。当你安装ruby的时候,有一个默认的gemfile位置吗?在这一点上,我很迷茫。
来自C:/的C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from D:/../spec/octopus_tentacle_spec.rb:1:in中的C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inload' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in块要求‘:无法从load_ spec_files加载这样的文件-- chefspec (LoadErr or)’来自C:/ruby22/lib/ruby/ Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in /2.2.0的C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:102:in each' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:inload_spec_file % s‘from ruby22/setup' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:88:in’/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:73:in run' from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:41:ininvoke‘from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/exe/rspec:4:in <top (required)>' from C:/Ruby22/bin/rspec:23:inload’from C:/Ruby22/bin/rspec:23:in <main>'
发布于 2015-08-27 23:27:59
gemspec文件通常在创建Ruby gem时使用,其中包含有关正在创建的Gem的元数据。
当您使用bundle install时,它要求目录中有一个Gemfile。Gemfile作为目录中项目所需的gem的清单文件。chef exec可能正在查找此文件,并且仅适用于此处指定的gem。
尝试使用内容创建Gemfile
source 'https://rubygems.org'
gem 'rspec'
gem 'chefspec'您应该在文件中列出您正在使用的其他gem。然后运行bundle install
https://stackoverflow.com/questions/32252612
复制相似问题