当我运行Vagrant时,它正在执行所有的配置等操作,然后我看到错误:
==> default: ERROR: Error installing puppet:
后来:
==> default: Unable to load puppet. Please install it using native packages for your platform (eg .deb, .rpm, .dmg, etc).
==> default: No such file or directory - puppet
在我的配置中的流浪文件中,我有:
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.manifest_file = "site.pp"
puppet.module_path = "puppet/modules"
puppet.hiera_config_path = "puppet/hiera.yaml"
puppet.options = "--verbose --debug --pluginsync"
end
在我正在流浪运行的文件夹中,有一个名为puppet的文件夹,其中包含配置中引用的各种文件和文件夹。
任何关于为什么会失败或我如何修复它的帮助都将是最有帮助的。
编辑:刚刚在调试模式下运行了一个流浪者,也许这与不够高级的ruby版本有关?我不确定它是否直接相关:
DEBUG ssh: stderr: ERROR: Error installing puppet:
json_pure requires Ruby version ~> 2.0.
INFO interface: info: ERROR: Error installing puppet:
json_pure requires Ruby version ~> 2.0.
INFO interface: info: ==> default: ERROR: Error installing puppet:
==> default: json_pure requires Ruby version ~> 2.0.
==> default: ERROR: Error installing puppet:
==> default: json_pure requires Ruby version ~> 2.0.
好吧,遇到这个问题的人也可以,或者如果你只是好奇问题是什么。jsonpure是puppet的一个依赖项,当安装puppet时,它会尝试安装jsonpure的最新版本。事实证明,json_pure在2天前的7月26日发布了一个新版本(2.0.2),它依赖于ruby,该版本高于我目前在流浪者设置中运行的1.9版本。为了解决这个问题,我强迫它使用以前版本的json_pure(2.0.1)
要做到这一点,只需输入:
gem install json_pure -v 2.0.1
在它安装puppet之前的某个地方,这样它就已经有了json_pure,不会试图安装最新版本作为对puppet的依赖。