Я новичок в бродяжнике, и я создаю машину разработки Node.js CentOs 6.5 x86_64 в VirtualBox 4.3.6 и упакую ее в бродячий ящик. Моей операционной системой является Windows 8.1 Pro.Как запустить инструмент forever для узла в резервной оболочке обеспечения
То, что я пытаюсь сделать, это создать положение в оболочке, что при запуске vagrant up
bootstrap.sh
будет проверять, если app.js
существует в директории проекта, если он не существует, он будет создавать временные app.js и запустить forever start -w app.js
.
Все работает в скрипте bash, но когда оно достигает линии forever start -w app.js
Я получаю эту ошибку.
/tmp/vagrant-shell: line 14: forever: command not found
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
chmod +x /tmp/vagrant-shell && /tmp/vagrant-shell
Stdout from the command:
Stderr from the command:
/tmp/vagrant-shell: line 14: forever: command not found
Запуск forever start -w app.js
в бродячей SSH работает отлично без проблем. Во время поиска в google некоторые говорят, что это проблема с настройками разрешения. Я пытался добавить бродячую пользователя в группу администратора и выполните следующие команды:
$ sudo groupadd admin
$ usermod -G admin vagrant
Я также редактировать /etc/sudoers
файл и добавил SSH_AUTH_SOCK
к опции env_keep, закомментировал Defaults requiretty
линии и добавил строку %admin ALL=NOPASSWD: ALL
. У меня такая же ошибка.
Вот мой bootstrap.sh
#!/usr/bin/env bash
IFS='' read -r -d '' NODEAPP <<'EOF'
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Universe.\n');}).listen(3000, '127.0.0.1');
console.log('Listening at http://127.0.0.1:3000/');
EOF
cd /usr/share/nginx/html
if [ ! -f app.js ]; then
echo "$NODEAPP" >> app.js
fi
forever start -w app.js
А вот мой Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "centos65NODE"
config.vm.box_url = "centos65NODE.box"
config.vm.network :private_network, ip: "192.168.50.10"
config.vm.provision :shell, :path => "bootstrap.sh"
end
хорошо я предполагаю, что я должен использовать его внутри VirtualBox без бродяга –