1

У меня проблемы с пониманием того, как я могу заставить node.js, Grunt и NPM работать на моем Vagrant box. Я использую ubuntu-precision12042-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

Должен ли я запустить какую-то другую команду?

2 ответа2

0

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

Пример:

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

package { 'express':
  provider => npm
}
0

В Vagrantfile определите ваш файл обеспечения:

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

Затем создайте package.json для 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, как описано в другом ответе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .