Скрипт Vagrant up сообщает, что команда gulp не найдена, но в ssh нет проблем - PullRequest
0 голосов
/ 30 ноября 2018

Я устанавливаю бродячую коробку для моего отдела документации.и когда я пытаюсь запустить gulp --gulpfile /vagrant/gulpfile.js serve, он сообщает gulp: command not found.Если я vagrant ssh и запустить ту же команду, все в порядке.У меня есть другие блоки, которые запускают различные инструменты в сценарии, поэтому я не понимаю, почему это не удается.

Может кто-нибудь сказать мне, почему gulp не найден из сценария vagrant up?

Vagrant.configure("2") do |config|
  config.vm.box = "cabike/MeanXenial"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.network "forwarded_port", guest: 9000, host: 9000
  config.vm.provision "deploy",
      run: "always",
      type: "shell",
      inline: <<-SHELL
        gulp --gulpfile /vagrant/gulpfile.js serve
      SHELL
end

1 Ответ

0 голосов
/ 30 ноября 2018

Возможно, что gulp установлен для вашего пользователя vagrant, но вы запускаете скрипт как root пользователь

Вы можете изменить это поведение, используя privileged опция

privileged (логическое значение) - указывает, выполнять ли сценарий оболочки как привилегированный пользователь или нет (sudo).По умолчанию это "true".

Подготовка станет

  config.vm.provision "deploy",
      run: "always",
      privileged: false,
      type: "shell",
      inline: <<-SHELL
        gulp --gulpfile /vagrant/gulpfile.js serve
      SHELL
...