puppet rspec нет такого файла для загрузки - rspec-puppet (LoadError)
У меня нет опыта работы с рубином. Я не интересуюсь ruby (и поэтому не знаю рельсов и т. Д.), Но использую марионетку для управления группой серверов. Я написал несколько модулей, и система rspec-puppet выглядит очень полезной.
Тем не менее, я не могу заставить rspec-puppet работать
Я использую Ubuntu LTS 10.04
Я установил Puppet rspec, используя указания на их веб-странице
Что я на самом деле сделал
apt-get install rubygems # (installs 1.8)
gem install rspec-expectations
gem install rspec-puppet
Я также установил librspec-ruby1.8
Затем я запустил rspec-puppet-init в каталоге модулей puppet, который я уже сделал (это рабочий модуль puppet)
Я сделал файл, как определено в руководстве
$ more spec/defines/rule_spec.rb
require 'spec_helper'
describe 'vanusers::rule' do
let(:title) { 't1' }
it { should contain_class('vanusers::JamieA') }
end
но когда я пытаюсь запустить его, возникает загадочная проблема зависимости
$ 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
Вот решение, которое я придумал в конце:
apt-get install rubygems
gem install rspec-expectations rspec-puppet puppet-lint puppetlabs_spec_helper
так что ваш путь поднимает драгоценный камень
export PATH=/var/lib/gems/1.8/bin:$PATH
перейдите в модуль и
rm spec/spec_helper.rb
rspec-puppet-init
заменить Rakefile на
require 'rake'
require 'rspec/core/rake_task'
require 'puppetlabs_spec_helper/rake_tasks'
Затем "rake spec" для запуска тестов или "rake lint" для проверки файлов
http://sysadvent.blogspot.co.uk/2013/12/day-22-getting-started-testing-your.html был отличным источником информации
1 ответ
У меня была такая же проблема, и я должен был исправить следующее spec_helper.rb
файл:
require 'rubygems'
в верхней части файла. Я тогда смог бежать $ rake rspec
успешно.