Vagrant, Puppet und nodejs-Modul: werfen Fehler auf npm-Modul installation
Habe ich Folgendes manifest:
include nodejs
package { 'serve':
ensure => latest,
provider => 'npm',
}
Ich bin mit dem puppetlab node.js Modul:
http://forge.puppetlabs.com/puppetlabs/nodejs
Vagrantfile:
Vagrant::Config.run do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = '~/work/environments/default/'
puppet.manifest_file = 'site.pp'
puppet.module_path = '~/work/environments/default/modules'
end
end
Wenn ich vagrant up
ich erhalte die folgende Fehlermeldung:
[default] Running provisioner: Vagrant::Provisioners::Puppet...
[default] Running Puppet with /tmp/vagrant-puppet/manifests/site.pp...
stdin: is not a tty
err: /Stage[main]//Package[serve]/ensure: change from absent to latest failed: Could not update: Got nil value for ensure at /tmp/vagrant-puppet/manifests/site.pp:6
notice: /Stage[main]/Nodejs/Package[nodejs]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Nodejs/Package[npm]/ensure: ensure changed 'purged' to 'present'
notice: Finished catalog run in 14.89 seconds
Zuerst dachte ich, vielleicht ist es versucht zu installieren, das 'dienen' Modul bevor npm installiert also habe ich versucht require => Package[npm]
aber das gab das gleiche Ergebnis.
So konnte jeder glänzen etwas Licht auf, warum es nicht installieren, 'dienen' Modul?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es zu bestellen - der Anbieter muss die
npm
Befehl, die Sie noch nicht verfügen.Versuchen verändern Sie Ihre manifest-so etwas wie:
alternativ eventuell:
Ich lief über diese als gut - es sieht für mich wie der puppetlabs-nodejs-Modul nicht wirklich akzeptieren
ensure => latest
, die im Gegensatz zu der Dokumentation. Mein Problem war behoben, als ich geändert, umensure => present
, und der code sieht zur Unterstützung bestimmter Versionen als auch mitensure => 1.12.4
zum Beispiel.