Vagrant未能安装Puppet

时间:2016-07-28 19:48:53

标签: vagrant puppet vagrantfile vagrant-provision vagrant-plugin

当我运行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

在我的配置中的vagrantfile中我有:

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的文件夹,其中包含配置中引用的各种文件和文件夹。

任何关于为什么会失败或如何解决它的帮助将是最有帮助的。

编辑: 刚刚在调试模式下运行vagrant,也许它与一个不够先进的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.

1 个答案:

答案 0 :(得分:1)

好的,也遇到过这个问题的人,或者你只是好奇问题是什么。 json_pure是puppet的依赖项,当puppet安装时,它会尝试安装最新版本的json_pure。事实证明,json_pure在7月26日(2.0.2)2天前发布了一个新版本,它的ruby依赖于当前在我的流浪设置中运行的版本1.9。为了解决这个问题,我强迫它使用以前版本的json_pure(2.0.1)。

要做到这一点,只需输入:

gem install json_pure -v 2.0.1

在它安装puppet之前的某个地方,它已经有了json_pure,并且不会尝试安装最新版本作为对puppet的依赖。