puppet rspec nenhum tal arquivo para carregar - rspec-puppet (LoadError)

2

Eu não tenho experiência prévia em todos os rubis. Eu não estou interessado em ruby (e por isso não tenho conhecimento de trilhos etc) como tal, mas estou usando fantoche para gerenciar um grupo de servidores. Eu escrevi alguns módulos e o sistema rspec-puppet parece ser muito útil.

No entanto, não consigo fazer o rspec-puppet funcionar

Estou usando o Ubuntu LTS 10.04

Eu instalei o puppet rspec usando as instruções em sua página da web

O que eu realmente fiz

apt-get install rubygems # (installs 1.8)
gem install rspec-expectations
gem install rspec-puppet

Eu também instalei o librspec-ruby1.8

Então eu executei o rspec-puppet-init em um diretório de módulos de fantoches que eu já fiz (é um módulo de fantoche de trabalho)

Eu fiz um arquivo conforme definido no tutorial

$ more spec/defines/rule_spec.rb 
require 'spec_helper'

describe 'vanusers::rule' do
let(:title) { 't1' }

it { should contain_class('vanusers::JamieA') }
end

mas quando eu tento executá-lo há um misterioso problema de dependência

$ spec spec/defines/rule_spec.rb 
/home/jamie/git/puppet/modules/vanusers/spec/spec_helper.rb:1:in 'require': no such file to load -- rspec-puppet (LoadError)
    from /home/jamie/git/puppet/modules/vanusers/spec/spec_helper.rb:1
    from ./spec/defines/rule_spec.rb:1:in 'require'
    from ./spec/defines/rule_spec.rb:1
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in 'load'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in 'load_files'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in 'each'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in 'load_files'
    from /usr/lib/ruby/1.8/spec/runner/options.rb:132:in 'run_examples'
    from /usr/lib/ruby/1.8/spec/runner/command_line.rb:9:in 'run'
    from /usr/bin/spec:3

Aqui está a solução que encontrei no final:

apt-get install rubygems
gem install rspec-expectations rspec-puppet puppet-lint puppetlabs_spec_helper

para que seu caminho pegue as coisas da gema

export PATH=/var/lib/gems/1.8/bin:$PATH

cd no módulo e

rm spec/spec_helper.rb

rspec-puppet-init

substitua o Rakefile por

require 'rake'
require 'rspec/core/rake_task'
require 'puppetlabs_spec_helper/rake_tasks'

Em seguida, "rake spec" para executar testes ou "rake lint" para verificar arquivos

link foi uma excelente fonte de informação

    
por Vorsprung 18.12.2013 / 21:30

1 resposta

1

Eu tive esse mesmo problema e a correção foi colocar o seguinte no meu arquivo spec_helper.rb :

require 'rubygems'

na parte superior do arquivo. Eu consegui executar $ rake rspec com êxito.

    
por Brian 04.06.2014 / 13:11