Cómo hacer que node.js y grunt se ejecuten en Vagrant Box (ubuntu-precise12042-x64-vbox43)

Cómo hacer que node.js y grunt se ejecuten en Vagrant Box (ubuntu-precise12042-x64-vbox43)

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 upla 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 SSHy luego corrí, puppet module install willdurand/nodejslo 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 NPMdice:

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 provisionnuevamente.

Ejemplo:

class { 'nodejs':
  version => 'stable',
}

package { 'express':
  provider => npm
}

Respuesta2

Al Vagrantfiledefinir su archivo de aprovisionamiento:

config.vm.provision "shell", path: "scripts/provision.sh"

Luego cree package.jsonfor npmcon 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.shinstalación npmy 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.

información relacionada