Без шагов по воспроизведению сломанной системы трудно сказать, что произошло, но в целом я могу сказать, как правильно настроить эту настройку для использования конкретной версии Puppet.
Имеет ли это помогите?В худшем случае вы, вероятно, можете удалить RVM и переустановить его.
Прежде чем продолжить, позвольте мне заметить, что Puppet 4.10.2 и 4.10.3 оба были удалены изRubygems.(Хотя я смог установить его с помощью PDK.)
В остальном я предпочитаю 4.10.4 (просто чтобы отличить его от последних 4.10).
Рекомендуемый подход:использовать Puppet Development Kit (pdk) .Если вы загружаете и устанавливаете PDK, вам, вероятно, просто нужно выполнить следующие шаги:
pdk convert
rm Gemfile.lock
PUPPET_GEM_VERSION=4.10.4 bundle update # If that version isn't already in PDK.
pdk test unit --puppet-version 4.10.4
Если вы не хотите идти по пути PDK, вы можете попробовать следующие варианты:
- Жесткий код нужной вам версии Puppet в Gemfile.
gem 'puppet', '4.10.4'
Или:
gem 'puppet', '~> 4.10' # latest 4.10
Затем обновите свой пакет:
rm -f Gemfile.lock
bundle update
Или, вы можете реализовать функцию
PUPPET_GEM_VERSION
, добавив этот код (это то, что я делаю, для чего оно стоит):
if puppetversion = ENV['PUPPET_GEM_VERSION']
gem 'puppet', puppetversion
else
gem 'puppet'
end
А затем:
rm -f Gemfile.lock
PUPPET_GEM_VERSION='~> 4.10' bundle update
Теперь вы можете запускать свои юнит-тесты для определенной версии Puppet в обычном режиме:
bundle exec rake spec
Или как бы вы это ни настраивали.