Проблема
Я установил Vagrant в Windows 10, чтобы создать личную локальную среду разработки на виртуальной машине. Все, что я читал о Вагранте, говорит, что я могу даже раскрутить несколько систем и проверить связь между ними с помощью переадресации портов NAT. Но сначала я просто хочу создать одну виртуальную машину среды разработки, прежде чем я зайду слишком далеко с остальными.
Я установил VirtualBox, Vagrant, PuTTy и PuTTYGen в соответствии с этим руководством по SitePoint: https://www.sitepoint.com/getting-started-vagrant-windows/. Затем я создал папку проекта vagrant на диске C :, выполнил vagrant init
, удалил Vagrantfile
и, наконец, vagrant init ubuntu/trusty64
. Затем я сделал vagrant up
, но процесс завершился ошибкой:
Vagrant не удалось смонтировать общие папки VirtualBox. Обычно это происходит потому, что файловая система "vboxsf" недоступна. Эта файловая система доступна через гостевые дополнения VirtualBox и модуль ядра. Пожалуйста, убедитесь, что эти гостевые дополнения правильно установлены в гостевой системе. Это не ошибка в Vagrant и обычно вызывается неисправной коробкой Vagrant. Для контекста была предпринята команда:
mount -t vboxsf -o uid = 1000, gid = 1000 vagrant/vagrant
Вывод ошибки из команды был:
: Данный файл или каталог отсутствует
Вот скриншот моей командной строки Windows:
И вот текстовая версия:
C:\vagrant\sitepoint-test-2017-02-05>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> default: have version '20160602.0.0'. The latest is version '20170202.0.0'. Run
==> default: 'vagrant box update' to update.
==> default: Setting the name of the VM: sitepoint-test-2017-02-05_default_1486399403587_55255
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => C:/vagrant/sitepoint-test-2017-02-05
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:
mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
The error output from the command was:
: No such file or directory
Моя настройка
OS: Microsoft Windows [Version 10.0.14393]
VirtualBox Version: 4.3.10 r93012
GuestAdditions Version: ???
Vagrant Version: 1.9.1 (Latest)
PuTTy Version: 0.67
PuTTYGen Version: 0.67
Установленные плагины и расширения
Vagrant:
- vagrant-share (1.1.6, system)
- vagrant-vbguest (0.13.0)
Что я уже пробовал
Этот пост показался мне наиболее перспективным в моих исследованиях.
К сожалению, ни одно из предложенных решений, ни любая из предоставленных ссылок не решили проблему. Я уже пробовал кучу вещей, но я не системный администратор (который, я полагаю, является набором навыков, который вам понадобится для устранения этой проблемы). Особенно тревожило то, что многие из "решений" 2013/2014 года, как недавно указали, больше не работают. Эти решения говорят о чем-то, что не работает с символическими ссылками, об установке плагинов, таких как vagrant-vbguest, и о том, что дополнения vbox не совпадают с чем-то. Я не совсем все это понимаю, но я старался изо всех сил. Вот что я уже пробовал, но это еще не решено:
-
vagrant plugin install vagrant-vbguest
. Vagrant показывает плагин как установленный, но я получаю ту же ошибку приvagrant up
. -
Список ссылок, которые я прочитал при исследовании этой проблемы, не дал никакого рабочего решения.
- Vagrant не может подключиться в гостевой системе Linux с гостевыми дополнениями VirtualBox в Windows 7
- Vagrant - Как я могу смонтировать общую папку virtualbox? ("vboxsf" не доступен)
- https://github.com/mitchellh/vagrant/issues/3341#issuecomment-144271026
- https://www.virtualbox.org/ticket/12879 (На этот билет VirtualBox ссылаются постеры в некоторых других перечисленных ссылках. К сожалению, этот билет не устраняет проблему. Он не исправлен и все еще не работает... ИЛИ... возможно, этот билет связан, но немного отличается от вопроса, который я и другие все еще испытываем).
- https://gist.github.com/fernandoaleman/5083680
- ОБЩИЕ ПАПКИ VAGRANT НЕ УСТАНАВЛИВАЮТСЯ - Windows 7 - Vagrant 1.7.4 - Ubuntu 12.04 precision64 - VirtualBox 5.0.10 с гостевыми дополнениями
Мои вопросы
-
Я подозреваю, что проблема с VirtualBox, а не Vagrant. Это правда?
-
Как я могу это исправить, чтобы я мог продолжить учебник?
-
Кажется, с 2014 года произошло резкое снижение количества ответов на вопросы Vagrant о переполнении стека. В чем причина? Vagrant/VirtualBox больше не считается "лучшей практикой"? Есть ли лучшее решение, чтобы пользователи игнорировали вопросы Бродяги?
Опять же, я не системный администратор, но я технически подкован и могу следовать техническим указаниям.