Você obteria resultados muito melhores usando módulos de fantoches para apt, nodejs, etc., dê uma olhada em forjado de bonecos .
Usar exec é uma má ideia, já que você realmente precisa cuidar da idempotência por conta própria.
Por exemplo, em vez de linhas:
package { 'nodejs':
ensure => latest,
require => [Exec['apt_update'], Exec['add-node-repo']]
}
# Install npm
exec { 'npm':
command => '/usr/bin/curl -L https://npmjs.org/install.sh | /bin/sh',
require => [Package['nodejs'], Package['curl']],
environment => 'clean=yes'
}
você pode usar:
include nodejs
Verifique seu arquivo do Vagrant e certifique-se de ter configurado o diretório modules e manifests.
Em seguida, pesquise o fantoche para os módulos, por exemplo, apt , nodejs , ruby etc.
Faça o download e instale (descompacte no diretório de módulos). Certifique-se de alterar os nomes dos diretórios dos módulos.
Por exemplo, de puppetlabs-apt
para apt
Dê uma olhada na visão geral dos módulos e no guia de uso que lhe dirá como usar um módulo.
Veja também este tutorial sobre o uso de vagabundos com fantoches.
Se você quiser saber mais sobre o fantoche, consulte a VM de aprendizagem e os documentos p>