방랑자가 시작하지 않습니다. VM을 만든 사용자가 현재 사용자와 일치하지 않습니다.


123

방랑자 컴퓨터를 시작하려고했기 때문에 방랑자 파일이있는 폴더로 이동하여 다음을 사용했습니다.

방랑자 && 방랑자 ssh

하지만 다음과 같은 오류 메시지가 나타납니다.

VirtualBox VM은 Vagrant를 실행중인 현재 사용자와 일치하지 않는 사용자로 생성되었습니다. VirtualBox에서는 생성 된 VM을 관리하는 데 동일한 사용자를 사용해야합니다. 해당 사용자로 Vagrant를 다시 실행하십시오. 이것은 방랑자 문제가 아닙니다.

VM을 만드는 데 사용 된 UID는 다음과 같습니다. 0 UID는 501입니다.

나는 또한 sudo로 시도했지만 그것도 작동하지 않았습니다.

UID를 전환해야합니까? 그리고 어떻게해야합니까?

답변:


252

오늘도 같은 문제가 발생했습니다. 파일을 열고 5010으로 변경하여 UID
편집했습니다 ..vagrant/machines/default/virtualbox/creator_uid

파일을 저장 한 후 vagrant up 명령이 챔피언처럼 작동했습니다.

주의 : .vagrant폴더는 실행 한 Vagrantfile과 동일한 디렉토리에 있습니다.vagrant up


64
나는 같은 상황에 처해 있었다. 우분투 머신에서 tarball을 타르로 만들었다. 따라서 rm -rf .vagrant우분투에서 생성 된 디렉토리를 제거하기 만해도 문제가 해결되었습니다.
Jeff Sheffield

1
//, 와우, 감사합니다, @Fred! Stackoverflow는 이러한 종류의 정확하고 찾기 어려운 솔루션을 이전에 처리해야했던 사람으로부터 최선을 다해 제공합니다. 일반적 .vagrant으로 Unix 기반 컴퓨터 에서 폴더 는 어디에 있습니까 ?
Nathan Basanese 2015

1
확실하지 않습니다, @Nathan. creator_uid 파일에 대해 찾기 명령을 실행할 수 있습니까? 편집 할 파일의 경로를 찾으려면 명령 줄에서 "creator_uid 찾기"를 시도하십시오.
Fred

4
제 경우에는 creator_uid에 "90210"이 포함되어 있지만 UID는 502입니다.이 솔루션이 제안한대로 파일의 UID를 0으로 변경하는 대신 502로 변경했습니다. 잘 작동했습니다.
LS

5
@NathanBasanese .vagrant폴더는 실행 동일한 위치에있다vagrant up
Harish 레디

34

약간 다른 상황에서이 문제가 발생했습니다. 문제는 ".vagrant"가 git repo에 체크인되었고 커미터가 저와 다른 UID에서 실행되고 있다는 것입니다.

해결책 : .vagrant를 .gitignore에 추가하십시오.


15
이것이 제가 직면 한 문제였습니다. 그러나, 단순히 추가 .vagrant하는 .gitignore것입니다 하지 YMMV,하지만 -이 문제를 해결 git rm -rf .vagrant도 실행해야합니다.
Marco Massenzio 2015

@marco : 당신이 절대적으로 옳습니다. ".vagrant"가 저장소에 추가 된 경우 나중에 .gitignore에 추가하는 것이 너무 늦습니다. :)
Chris Cogdon

8

저도 같은 문제로 실행,하지만 난으로 실행했기 때문에 내 경우에 그것은이었다 vagrant up아래를 sudo, 그리고 내가 다시 왔을 때 나중에 나는 잊었다.

어리석은 실수이지만 누군가가 일어난 것은 처음이 아니라고 확신합니다. :)


1
여기에서 같은 문제,에서 실행하는 것을 잊었습니다 sudo. 그러나 오류 메시지는 불행히도 그다지 표시하지 않습니다.
Zac Blazic

5

.vagrant \ machines \ default \ virtualbox \ creator_uid에서 ID를 변경하려고 시도했지만 작동하지 않았지만 파일을 삭제하면 creator_uid가 트릭을 수행했습니다.


3

여기에서 사용자 ID를 변경하십시오. .vagrant / machines / default / virtualbox / creator_uid


1

VirtualBox 사용자 설명서 에 따르면 :

보안 조치로 Linux의 내부 네트워킹 구현에서는 동일한 사용자 ID로 실행되는 VM 만 내부 네트워크를 설정할 수 있습니다.

즉, UID 0실행 하려면 루트 ( )로 전환해야 합니다.


10
당신의 .vagrant 디렉토리를 삭제 sudo를 같이 실행하고 사용자로 실행 안
제레미

1

다음 명령을 실행할 수 있습니다. sudo vagrant up

이것은 일반 사용자로서 /.vagrant폴더와 파일을 보거나 삭제할 수 없음을 의미 합니다.

그렇다면 다음을 실행하십시오. sudo vagrant destroy -f

그런 다음 (일반 사용자 계정으로) 실행할 수 있어야합니다. vagrant up


0

다음 명령을 실행하십시오.

bash
sudo vagrant up

0

새 컴퓨터를 구입 한 후에도 같은 문제가 발생했습니다. 이전 컴퓨터에서 모든 파일을 복사하는 대신 git 저장소에서 방랑 프로젝트를 다시 확인해야했습니다 . 그 후 vagrant up잘 작동했습니다.


0

Fred의 https://stackoverflow.com/a/32256848/2065804 답변 에 추가 하십시오 .

올바른 VM의 시스템을 변경했는지 확인하십시오. 예를 들어, 내 VM 이름은 기본값이 아니라 homestead-7이라고합니다.

따라서 올바른 경로 는 다음과 같습니다.

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

그리고 아닙니다 :

.vagrant/machines/default/virtualbox/creator_uid

이 오류는 Mac을 다른 Mac으로 변경할 때 발생했습니다.


0

현재 작업 디렉토리에서 .vagrant hidden dir의 내용을 제거하고 vagrant up 명령을 다시 실행하십시오. 한 시스템에서 다른 시스템으로 Vagranfile / s의 복사 / 백업으로 인해 오류가 발생했습니다. 사용자 아이디가 방랑자에게 오해를 불러 일으키는 환경 .. 응원에 도움이 되길 바랍니다 .. !! :)) 해당 폴더를 삭제하지 않으려면 u는 현재 작업 디렉토리의 숨겨진 디렉토리에있는 파일에서 현재 사용자의 uid를 업데이트 할 수 있습니다. 즉 .vagrant / machines / jenkins / virtualbox $ vim creator_uid


0

나는 같은 상황에 직면했지만 다중 머신 Vagrantfile이 있습니다.

이전 uid (1001)를 새 uid (1000)로 바꾸기 위해 다음 명령을 사용했습니다.

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

0

나는 sudo이전에 잊어 버린 것과 동일한 문제가 있었으며 방랑 파일의 폴더에서 vagrant up실행 sudo vagrant up해야합니다.


0

Multi-Machine 방랑자 파일이 있습니다. 내가 체크 한 creator_uid과이다 0하지만 부하에 아직 없습니다. 그래서 creator_uid모든 Multi-Machine의 파일을 삭제 했으며 작동했습니다. 경로는.vagrant\machines\<machine_name>\virtualbox

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.