Бродяга не запускається. Користувач, який створив VM, не відповідає поточному користувачеві


123

Я намагався запустити свою бродячу машину, тому перейшов до папки, де знаходиться мій vagrantfile, і використав:

бродяга && vagrant ssh

але я отримав таке повідомлення про помилку:

VirtualBox VM був створений з користувачем, який не відповідає поточному користувачеві, що працює з програмою Vagrant. VirtualBox вимагає, щоб той самий користувач використовувався для управління створеною VM. Повторіть запуск Vagrant із цим користувачем. Це не бродяче питання.

UID, що використовується для створення віртуального комп'ютера, був: 0 Ваш UID: 501

Я також спробував із судо, але це теж не вийшло.

Чи потрібно перемикати UID? І як би я це зробив?

Відповіді:


252

Я зіткнувся з тією ж проблемою і сьогодні.
Я відредагував свій UID , відкривши файл .vagrant/machines/default/virtualbox/creator_uidі змінивши 501 на 0 .

Після того як я зберег файл, команда vagrant вгору працювала, як чемпіон.

Примітка: .vagrantпапка знаходиться в тому ж каталозі, що і ваш Vagrantfile, куди ви біглиvagrant up


64
Я опинився в тій же самій ситуації, що я потрапив на тарбол з машини ubuntu. Тому просто видалення режиму rm -rf .vagrant, створеного в ubuntu, також вирішило проблему.
Джефф Шеффілд

1
//, Вау, спасибі, @Fred! Stackoverflow служить нам у найкращих випадках таким точним, важко знайти рішення у того, хто мав справу з цим раніше. Де я зазвичай знайду .vagrantпапку на машинах на базі Unix?
Натан Басанес

1
Не впевнений, @Nathan. Чи можете ви запустити команду locate для файлу creator_uid? Спробуйте "знайти creator_uid" у командному рядку, щоб знайти шлях до файлу для редагування.
Фред

4
У моєму випадку Creator_uid містив "90210", але мій UID - 502. Замість того, щоб змінити UID у файлі на 0, як запропонувало це рішення, я змінив його на 502. Працював добре.
LS

5
.vagrantПапка @NathanBasanese знаходиться в тому самому місці, де ви перебуваєтеvagrant up
Harish Reddy

34

Натрапив на цю проблему в дещо іншій ситуації. Проблема полягала в тому, що ".gragrant" був зареєстрований у git repo, а компітер працював під іншим UID, ніж я.

Рішення: додайте .vagrant до .gitignore.


15
Це питання, з яким я стикався; Однак, просто додавши .vagrantдо .gitignoreбуде НЕ вирішити проблему - YMMV, але git rm -rf .vagrantповинен працювати теж.
Марко Массенціо

@marco: Ви абсолютно праві. якщо до репо було додано ".vagrant", додавши його до .gitignore згодом :)
Кріс Когдон

8

Я зіткнувся з тим же питанням, але в моєму випадку це було тому, що я біг vagrant up під sudo, і коли я повернувся до нього пізніше , я забув.

Дурна помилка, але я впевнений, що це не перший раз, коли хтось трапляється :)


1
Тут же питання, забув пробігти під sudo. Але повідомлення про помилку не дуже свідчить про це, на жаль.
Зак Блазич

5

Я спробував змінити ідентифікатор у .vagrant \ machines \ default \ virtualbox \ creator_uid, і це не працювало для мене, але видаливши файл, creator_uid зробив свою справу.


3

просто змініть тут ідентифікатор користувача .vagrant / машини / за замовчуванням / virtualbox / creator_uid


1

Відповідно до посібника користувача VirtualBox :

В якості міри безпеки реалізація внутрішньої мережі Linux дозволяє лише віртуальним машинам, що працюють під тим самим ідентифікатором користувача, встановити внутрішню мережу.

Іншими словами, вам потрібно перейти на root ( UID 0), щоб запустити його.


10
Не слід працювати як sudo, просто видаліть каталог .vagrant і запустіть як ваш користувач
Jeremy

1

Можливо, ви запустили команду: sudo vagrant up

Це означатиме, що як ваш постійний користувач ви не можете бачити або навіть видаляти /.vagrantпапку та файли.

Якщо так, просто запустіть: sudo vagrant destroy -f

Тоді ви зможете запустити (як ваш звичайний обліковий запис користувача): vagrant up



0

У мене була така ж проблема після отримання нового комп’ютера. Замість того , щоб копіювати всі файли з мого старого комп'ютера, я повинен був перевірити бродячі проекти знову з мерзотника сховища. Після цього vagrant upдобре працював.


0

Просто додати до https://stackoverflow.com/a/32256848/2065804 Fred відповіді .

Переконайтеся, що ви змінили правильний апарат VM. Наприклад, моє ім’я VM НЕ за замовчуванням, а скоріше називається "Підвір'я 7".

Отже шлях до правильного :

.vagrant/machines/homestead-7/virtualbox/creator_uid

і ні:

.vagrant/machines/default/virtualbox/creator_uid

Ця помилка трапилася зі мною, коли я змінив свій Mac на інший Mac.


0

Видаліть вміст .vagrant прихованого dir у поточному робочому dir та повторно запустіть команду vagrant up. Помилка через копіювання / резервне копіювання Vagranfile / s з однієї системи в іншу. невдача користувача id до бродячого, щоб виховувати навколишнє середовище .. сподіваюся, що це допомагає ура .. !! :)) якщо ви не бажаєте видалити цю папку, ви можете оновити uid поточного користувача у файлі в прихованому режимі поточного робочого dir, тобто.



0

У мене була та сама проблема, яку я забув розмістити sudoраніше vagrant up, просто потрібно виконати sudo vagrant upв папці вашого бродячого файлу.


0

У мене файл мульти-машини бродячого. Я перевірив, creator_uidі він є, 0але все ще не вдається завантажити. Отже, я видалив creator_uidфайл для всіх мультимашин, і він працював. Шлях повинен бути.vagrant\machines\<machine_name>\virtualbox

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.