Запуск node.js и grunt на Vagrant-компьютере (ubuntu-precise12042-x64-vbox43)

Запуск node.js и grunt на Vagrant-компьютере (ubuntu-precise12042-x64-vbox43)

У меня возникли проблемы с пониманием того, как запустить node.js, Grunt и NPM на моем Vagrant box. Я использую ubuntu-precise12042-x64-vbox43 и подготавливаю его через puppet. Я только начал работать с puppet, поэтому я пошел наhttps://puphpet.comдля генерации манифеста. После того, как vagrant upящик подготовлен как надо, и все работает без проблем. Затем я гуглю, чтобы найтиhttps://stackoverflow.com/questions/19000534/install-node-js-on-ubuntu-12-04-lts-using-puppet. Я запустил vagrant SSH, а затем запустил, puppet module install willdurand/nodejsи все прошло нормально. Теперь проблема в том, что я не знаю, что делать дальше? Я думал, что смогу запускать команды NPM и Node, находясь "в" vagrant SSH. Что я делаю не так? Если я просто запущу, NPMто он скажет:

the program 'npm' is currently not installed. You can install it by typing: sudo apt-get install npm

Мне нужно выполнить какую-то другую команду?

решение1

Простая установка модуля puppet не устанавливает программу, она просто сообщает puppet, как работать с nodejs в puppet. Вам нужно добавить объявление в манифест puppet и запустить vagrant provisionснова.

Пример:

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

package { 'express':
  provider => npm
}

решение2

Определите Vagrantfileсвой файл подготовки:

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

Затем создайте package.jsonfor npmс необходимыми пакетами (например grunt, ), например:

{
  "name": "vagrant",
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-cli": "^0.1.13",
    "grunt-exec": "^0.4.6",
    "shelljs": "^0.5.3"
  }
}

Затем в provision.shустановке npmи зависимых пакетах через:

apt-get install
npm install
grunt --version

и посмотрим, сработает ли это во время подготовки виртуальной машины ( vagrant up).

Или используйте манифест Puppet, как описано в другом ответе.

Связанный контент