Gelandangan Tidak Memulai. Pengguna yang membuat VM tidak cocok dengan pengguna saat ini


124

Saya mencoba untuk memulai mesin gelandangan saya, jadi saya menavigasi ke folder tempat file gelandangan saya berada, dan menggunakan:

gelandangan && gelandangan ssh

tetapi saya mendapat pesan kesalahan berikut:

VM VirtualBox dibuat dengan pengguna yang tidak cocok dengan pengguna saat ini yang menjalankan Vagrant. VirtualBox mengharuskan pengguna yang sama digunakan untuk mengelola VM yang dibuat. Harap jalankan kembali Vagrant dengan pengguna itu. Ini bukan masalah gelandangan.

UID yang digunakan untuk membuat VM adalah: 0 UID Anda: 501

Saya juga mencoba dengan sudo, tetapi tidak berhasil juga.

Apakah saya perlu mengganti UID? Dan bagaimana saya melakukan ini?

Jawaban:


253

Saya mengalami masalah yang sama hari ini.
Saya mengedit UID saya dengan membuka file .vagrant/machines/default/virtualbox/creator_uiddan mengubah 501 menjadi 0 .

Setelah saya menyimpan file, perintah gelandangan bekerja seperti juara.

NB: .vagrantfolder tersebut berada di direktori yang sama dengan Vagrantfile Anda, tempat Anda menjalankanvagrant up


64
Saya menemukan diri saya dalam situasi yang sama, saya telah memasang tarball dari mesin ubuntu. Jadi hanya menghapus rm -rf .vagrantdir yang dibuat di ubuntu juga menyelesaikan masalah.
Jeff Sheffield

1
//, Wow, terima kasih, @Fred! Stackoverflow memberikan yang terbaik bagi kami dengan solusi yang tepat dan sulit ditemukan dari seseorang yang harus menghadapinya sebelumnya. Di mana saya biasanya menemukan .vagrantfolder di mesin berbasis Unix?
Nathan Basanese

1
Tidak yakin, @Nathan. Bisakah Anda menjalankan perintah cari untuk file creator_uid? Coba "cari creator_uid" pada baris perintah untuk menemukan jalur ke file yang akan diedit.
Fred

4
Dalam kasus saya, creator_uid berisi "90210", tetapi UID saya adalah 502. Daripada mengubah UID dalam file menjadi 0 seperti yang disarankan solusi ini, saya mengubahnya menjadi 502. Bekerja dengan baik.
LS

5
.vagrantFolder @NathanBasanese berada di lokasi yang sama dengan yang Anda jalankanvagrant up
Harish Reddy

34

Mengalami masalah ini dalam situasi yang sedikit berbeda. Masalahnya adalah bahwa ".vagrant" telah diperiksa ke dalam git repo, dan pelaku berjalan di bawah UID yang berbeda dari saya.

Solusi: tambahkan .vagrant ke .gitignore.


15
Ini adalah masalah yang saya hadapi; namun, menambahkan .vagrantke tidak.gitignore akan menyelesaikan masalah - YMMV, tetapi harus dijalankan juga. git rm -rf .vagrant
Marco Massenzio

@marco: Anda benar sekali. jika ".vagrant" ditambahkan ke repo, menambahkannya ke .gitignore setelah itu terlambat :)
Chris Cogdon

8

Aku berlari ke dalam masalah yang sama, tetapi dalam kasus saya itu karena saya punya berlari vagrant updi bawah sudo, dan ketika saya datang kembali ke nanti aku lupa.

Kesalahan konyol, tapi saya yakin ini bukan pertama kali terjadi pada seseorang :)


1
Masalah yang sama di sini, lupa berjalan di bawah sudo. Tetapi pesan kesalahan tidak terlalu menunjukkan itu sayangnya.
Zac Blazic

5

Saya mencoba mengubah id di .vagrant \ Machines \ default \ virtualbox \ creator_uid dan itu tidak berhasil untuk saya tetapi menghapus file, creator_uid melakukan triknya.


3

cukup ubah ID pengguna di sini .vagrant / machine / default / virtualbox / creator_uid


1

Menurut Panduan Pengguna VirtualBox :

Sebagai ukuran keamanan, implementasi Linux pada jaringan internal hanya mengizinkan VM yang berjalan di bawah ID pengguna yang sama untuk membuat jaringan internal.

Dengan kata lain, Anda harus beralih ke root ( UID 0) untuk menjalankannya.


10
Tidak boleh dijalankan sebagai sudo, cukup hapus direktori .vagrant Anda dan jalankan sebagai pengguna Anda
Jeremy

1

Mungkin Anda menjalankan perintah: sudo vagrant up

Ini berarti sebagai pengguna biasa Anda tidak dapat melihat atau bahkan menghapus /.vagrantfolder dan file.

Jika demikian, jalankan saja: sudo vagrant destroy -f

Maka Anda harus dapat menjalankan (sebagai akun pengguna biasa Anda): vagrant up



0

Saya mengalami masalah yang sama setelah saya mendapatkan komputer baru. Alih-alih menyalin semua file dari komputer lama saya, saya harus memeriksa proyek gelandangan lagi dari repositori git. Setelah itu, vagrant upbekerja dengan baik.


0

Hanya untuk menambahkan jawaban ke https://stackoverflow.com/a/32256848/2065804 Fred .

Pastikan Anda mengubah mesin VM yang benar. Misalnya, nama VM saya BUKAN default melainkan disebut homestead-7.

Jadi jalan menuju yang benar adalah:

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

dan tidak:

.vagrant/machines/default/virtualbox/creator_uid

Kesalahan ini terjadi pada saya ketika saya mengubah Mac saya ke Mac lain.


0

Hapus konten .vagrant hidden dir di direktori kerja saat ini dan jalankan kembali perintah vagrant up. Error, karena copy / backup dari Vagranfile / s dari satu sistem ke sistem lain. ketidaksesuaian user id kepada Vagrant untuk mengangkat lingkungan .. semoga bisa membantu, bersorak .. !! :)) jika Anda tidak ingin menghapus folder itu, Anda dapat memperbarui uid pengguna saat ini dalam file di direktori tersembunyi dari direktori kerja saat ini, yaitu .vagrant / machine / jenkins / virtualbox $ vim creator_uid


0

Saya telah menghadapi situasi yang sama, tetapi saya memiliki Vagrantfile multi-mesin .

Untuk mengganti uid lama (1001) dengan yang baru (1000) saya telah menggunakan perintah berikut:

for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done

0

Saya memiliki masalah yang sama dengan yang saya lupa tempatkan sudosebelumnya vagrant up, Anda hanya perlu mengeksekusi sudo vagrant updi folder file gelandangan Anda.


0

Saya memiliki file gelandangan Multi-Mesin. Saya telah memeriksa creator_uiddan 0masih tidak dapat memuat. Jadi saya telah menghapus creator_uidfile untuk semua Multi-Mesin dan berhasil. Jalan seharusnya.vagrant\machines\<machine_name>\virtualbox

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.