Tengo problemas para entender cómo haría para que node.js, Grunt y NPM se ejecuten en mi equipo Vagrant. Estoy usando ubuntu-precise12042-x64-vbox43 y lo aprovisiono a través de Puppet. Recién estoy comenzando con Puppet así que fui ahttps://puphpet.compara generar un manifiesto. Después de que vagrant up
la caja se aprovisione como debería y todo esté en funcionamiento sin problemas. Luego busco en Google para encontrarhttps://stackoverflow.com/questions/19000534/install-node-js-on-ubuntu-12-04-lts-using-puppet. Corrí vagrant SSH
y luego corrí, puppet module install willdurand/nodejs
lo cual funcionó bien. ¿Ahora el problema es que no sé qué hacer a continuación? Pensé que podría ejecutar comandos NPM y Node mientras estaba "en" vagrant SSH
. ¿Qué estoy haciendo mal? Si lo ejecuto solo NPM
dice:
the program 'npm' is currently not installed. You can install it by typing: sudo apt-get install npm
¿Tengo que ejecutar algún otro comando?
Respuesta1
Simplemente instalar el módulo de Puppet no instala el programa, solo le dice a Puppet cómo manejar los nodejs en Puppet. Debe agregar una declaración a su manifiesto de marionetas y ejecutarla vagrant provision
nuevamente.
Ejemplo:
class { 'nodejs':
version => 'stable',
}
package { 'express':
provider => npm
}
Respuesta2
Al Vagrantfile
definir su archivo de aprovisionamiento:
config.vm.provision "shell", path: "scripts/provision.sh"
Luego cree package.json
for npm
con los paquetes requeridos (por ejemplo grunt
), como:
{
"name": "vagrant",
"devDependencies": {
"grunt": "~0.4.5",
"grunt-cli": "^0.1.13",
"grunt-exec": "^0.4.6",
"shelljs": "^0.5.3"
}
}
Luego en provision.sh
instalación npm
y paquetes dependientes a través de:
apt-get install
npm install
grunt --version
y vea si eso funcionaría durante el aprovisionamiento de la VM ( vagrant up
).
O utilice el manifiesto Puppet como se describe en la otra respuesta.