Кажется, у меня МНОГО проблем с выяснением этого, но я пытаюсь использовать vagrant и подготовить сервер, который использует node / npm для установки зависимостей. Моя установка:
npm install
командаВ моем случае npm install кажется установить все (много вывода на терминал и т. д.). Следующая строка в сценарии подготовки выполняет grunt someTask
на что я получаю «команда ворчания не найдена». Так что хотя npm install
казалось, установить все, на самом деле не было.
При исследовании это похоже на проблему с виртуальным ящиком и символическими ссылками в общей папке. Я добавил:
config.vm.provider "virtualbox" do |vb|
# Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
vb.customize ["modifyvm", :id, "--memory", "1024"]
конец
что, кажется, не имеет никакого эффекта. Я также попытался установить с помощью --no-bin-links
flag, опять же, похоже, не действует. Есть идеи, как я могу заставить npm правильно установить зависимости моего проекта? Большое спасибо за любой вклад.
РЕДАКТИРОВАТЬ:
Эта суть, https://gist.github.com/anonymous/b760fdfa9c204c24424b это результат, который я получаю, когда запускаю бродягу. Как вы можете видеть, похоже, что все устанавливается, но когда я использую ssh в поле или даже из сценария подготовки, я не могу запустить "grunt", поскольку он говорит, что он не установлен. В моем репо есть node_modules после npm install --no-bin-links
завершено.
Вы использовали правильный репозиторий для установки NPM?
apt-add-repository ppa:chris-lea/node.js
apt-get update
apt-get install -y nodejs
Раньше я устанавливал nodejs без этого репозитория, и у меня было много проблем, с этим репозиторием я могу использовать установку NPM без ошибок в моем Vagrant Virtual Box. Используя Ubuntu 12.04, попробуйте.
Вам необходимо установить grunt
поскольку кажется, что он не устанавливается вашим сценарием подготовки.
Чтобы установить его глобально, выполните эту команду:
npm install -g grunt-cli
Вы можете запустить его вручную или добавить в свой сценарий подготовки.