Не удалось запустить Homestead Vagrant Box

Я нахожусь в процессе изучения учебника по Laravel, который направляет меня к установке homestead vagrant коробка; Я застрял на части композитора.

Я использую Ubuntu 14.04 LTS (64 бит) и запускаю Vagrant через виртуальный бокс 5.0.24r108355 (amd64). Судя по всему, у Homestead конфликт с виртуальным боксом 5.1.

Я понимаю Homestead так, что он создаст

Ubuntu 16.04
Git
PHP 7.0
HHVM
Nginx
MySQL
MariaDB
Sqlite3
Postgres
Composer
Node (With PM2, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd

Это частично подтверждается следующим: 16.04 LTS установка.

yhk@home:~/Homestead$ vagrant ssh
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-22-generic x86_64)
* Documentation:  https://help.ubuntu.com/
Last login: Fri Jul 15 13:20:08 2016 from 10.0.2.2

Однако, когда я пытаюсь vagrant up, это не удается. Судя по всему, я уже использую composer. Как мне поступить, чтобы исправить этот сбой и правильно запустить vagrant?

yhk@home:~/Homestead$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
yhk@home:~/Homestead$ vagrant provision
==> default: Running provisioner: file...
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: /tmp/vagrant-shell20160715-14549-1a6hi0t.sh
==> default: Running provisioner: shell...
    default: Running: script: Creating Site: homestead.app
==> default: Running provisioner: shell...
    default: Running: script: Restarting Nginx
==> default: Running provisioner: shell...
    default: Running: script: Creating MySQL Database
==> default: Running provisioner: shell...
    default: Running: script: Creating Postgres Database
==> default: Running provisioner: shell...
    default: Running: script: Clear Variables
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: You are already using composer version 1.1.3 (stable channel).
==> default: Running provisioner: shell...
    default: Running: /tmp/vagrant-shell20160715-14549-l87w5y.sh

Я думаю, что настройка сделана правильно...

yhk@home:~/Homestead$ ls
CHANGELOG.md   composer.lock  init.bat  LICENSE.txt  scripts  Vagrantfile
composer.json  homestead      init.sh   readme.md    src

yhk@home:~/.homestead$ ls
after.sh  aliases  Homestead.yaml  Homestead.yaml~

Еще раз, как мне поступить, чтобы исправить проблему с композитором и запустить бродягу?


person younghak    schedule 15.07.2016    source источник
comment
Я не думаю, что у вас есть проблемы с композитором. Провайдер запустил и пришел к выводу, что в это программное обеспечение не нужно вносить никаких изменений. Разве что у вас где-то ошибка.   -  person nerdlyist    schedule 15.07.2016
comment
Тот факт, что вы можете vagrant ssh войти в коробку, мне кажется, что она на самом деле запущена и работает. Что заставляет вас думать, что это не так, кроме того, что обновление композитора не запускается, потому что вы уже в курсе?   -  person jonhopkins    schedule 15.07.2016
comment
Ах, возможно, тогда я просто потерялся в том, как все работает в бродяге/усадьбе. Когда я использовал anaconda 3, я мог определить среду, в которой я находился, по подсказке. Я вижу это с vagrant ssh, но ничего с vagrant up.   -  person younghak    schedule 15.07.2016
comment
Мой дополнительный вопрос: что именно делает ~/Homestead? Должен ли я создавать все проекты в этом каталоге? Могу ли я не создавать проект в (скажем) ~/repository/php/? Причина, по которой я спрашиваю, заключается в том, что vagrant up нигде больше не работает. composer require laravel/homestead --dev не работает в ~/repository/php, пишет, что невозможно найти команду composer. composer require laravel/homestead --dev   -  person younghak    schedule 15.07.2016
comment
yhk@home:~/repository/php$ vagrant up говорит, что для запуска этой команды требуется среда Vagrant или целевая машина. Запустите vagrant init, чтобы создать новую среду Vagrant. Или получите идентификатор целевой машины от vagrant global-status для запуска этой команды. Последний вариант — перейти в каталог с Vagrantfile и повторить попытку. yhk@home:~/repository/php$ composer require laravel/homestead --dev Команда "композитор" не найдена, вы имели в виду: Команда "композитор" из пакета "MIME-support" (основной) композитор: команда не найдена   -  person younghak    schedule 15.07.2016


Ответы (1)


Вы пытались запустить vagrant с привилегиями sudo? cd в папку Homestead и выполнить

sudo vagrant up

а затем посмотрите, останется ли ошибка. иногда это проблема, связанная с разрешениями.

person Daniel Ferrans    schedule 15.07.2016
comment
Запуск Vagrant с sudo усугубит ваши проблемы с правами доступа, а не улучшит их. - person ; 15.07.2016
comment
У меня был похожий случай, когда бродяга мог работать на моей машине только с помощью sudo. Я просто говорю, попробуй (смеется).... - person Daniel Ferrans; 15.07.2016