Vagrant 找不到与Library puppet一起安装的模块

Vagrant 找不到与Library puppet一起安装的模块,vagrant,puppet,Vagrant,Puppet,我试图在一个流浪客中安装puppetlabs apt模块,但遇到以下错误: ==> default: Running provisioner: puppet... ==> default: Running Puppet with default.pp... ==> default: stdin: is not a tty ==> default: Info: Loading facts in /tmp/modules/puppetlabs-stdlib/lib/facte

我试图在一个流浪客中安装puppetlabs apt模块,但遇到以下错误:

==> default: Running provisioner: puppet...
==> default: Running Puppet with default.pp...
==> default: stdin: is not a tty
==> default: Info: Loading facts in /tmp/modules/puppetlabs-stdlib/lib/facter/pe_version.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-stdlib/lib/facter/puppet_vardir.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-stdlib/lib/facter/facter_dot_d.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-stdlib/lib/facter/root_home.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-apt/lib/facter/apt_package_updates.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-apt/lib/facter/apt_update_last_success.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-apt/lib/facter/apt_security_updates.rb
==> default: Info: Loading facts in /tmp/modules/puppetlabs-apt/lib/facter/apt_updates.rb
==> default: Error: Could not find class apt for vagrant-ubuntu-trusty-64.home on node vagrant-ubuntu-trusty-64.home
我的流浪汉档案:

Vagrant.configure("2") do |config|

  config.vm.box = "ubuntu/trusty64"

  config.vm.provision "shell", inline: "apt-get install -y ruby1.9.1-dev git"
  config.vm.provision "shell", inline: "gem install librarian-puppet -v 1.0.0"
  config.vm.provision "shell", inline: "cp /vagrant/Puppetfile /tmp/"
  config.vm.provision "shell", inline: "cd /tmp/ && librarian-puppet install --verbose"

  config.vm.provision "puppet" do |puppet|
    puppet.temp_dir = "/tmp"
    puppet.options = ['--modulepath=/tmp/modules', '--verbose', '--debug']
  end
end
我的木偶文件:

forge "https://forge.puppetlabs.com"

mod 'puppetlabs-apt',
  :git => "git://github.com/puppetlabs/puppetlabs-apt.git"

mod 'puppetlabs-stdlib',
  :git => "git://github.com/puppetlabs/puppetlabs-stdlib.git"
我的清单/default.pp:

include apt

我对puppet没有经验,所以任何指点都会很感激。

图书管理员puppet将模块放在/tmp/modules/puppetlabs apt而不是/tmp/modules/apt中


您需要将Library puppet更新到1.1.3+,因为1.0.0没有使用owner模块语法,它以前是owner/module。

根据我的经验
Library puppet
安装到
$PWD/modules
,因此如果您的
Puppetfile
位于
/tmp
中,并且您运行
Library puppet
apt
模块将在
/tmp/modules/apt
中结束。puppet config print modulepath的输出是什么?你的宝石棒极了。它使处理来自流浪汉的木偶模块变得如此简单!