वैग्रंट नॉट स्टार्टिंग अप। उपयोगकर्ता जो VM बना है, वर्तमान उपयोगकर्ता से मेल नहीं खाता है


123

मैं अपनी योनि मशीन को शुरू करने की कोशिश कर रहा था, इसलिए मैंने उस फ़ोल्डर में नेविगेट किया जहां मेरी योनि है और इसका उपयोग किया जाता है:

vagant up && आवारा ssh

लेकिन मुझे निम्नलिखित त्रुटि संदेश मिला:

वर्चुअलबॉक्स वीएम एक उपयोगकर्ता के साथ बनाया गया था, जो मौजूदा उपयोगकर्ता के वैग्रैंट से मेल नहीं खाता है। वर्चुअलबॉक्स की आवश्यकता है कि उसी उपयोगकर्ता का उपयोग उस VM को प्रबंधित करने के लिए किया जाए जो बनाया गया था। कृपया उस उपयोगकर्ता के साथ वैग्रैंट को फिर से चलाएं। यह वैग्रंट इश्यू नहीं है।

VM बनाने के लिए उपयोग किया जाने वाला UID था: 0 आपका UID है: 501

मैंने सुडो के साथ भी कोशिश की, लेकिन वह भी काम नहीं किया।

क्या मुझे यूआईडी को स्विच करने की आवश्यकता है? और मैं यह कैसे करूंगा?

जवाबों:


252

मैं आज उसी समस्या में भाग गया।
मैंने फ़ाइल को खोलकर और 501 को 0 में बदलकर अपना यूआईडी संपादित किया ।.vagrant/machines/default/virtualbox/creator_uid

मैं फ़ाइल को सहेजने के बाद, कमांड योनि अप एक विजेता की तरह काम करता था।

एनबी: .vagrantफ़ोल्डर आपके वैग्रांटफाइल के समान निर्देशिका में है, जहां आप भागे थेvagrant up


64
मैंने खुद को उसी स्थिति में पाया, मैंने एक ubuntu मशीन से एक टारबॉल टार किया था। तो बस rm -rf .vagrantubuntu में बनाई गई dir को हटाकर इस मुद्दे को भी हल किया।
जेफ शेफील्ड

1
//, वाह, धन्यवाद, @ फ़्रेड! Stackoverflow इस तरह के सटीक, किसी ऐसे व्यक्ति से समाधान ढूंढना हमारे लिए सबसे अच्छा काम करती है, जिसे पहले इससे निपटना पड़ा हो। मुझे आमतौर .vagrantपर यूनिक्स आधारित मशीनों पर फ़ोल्डर कहां मिलेगा ?
नाथन बसानी

1
यकीन नहीं हुआ, @ नथन। क्या आप creator_uid फ़ाइल के लिए एक खोज कमांड चला सकते हैं? संपादित करने के लिए फ़ाइल का पथ खोजने के लिए कमांड लाइन पर "creator_uid का पता लगाने" का प्रयास करें।
फ्रेड

4
मेरे मामले में, creator_uid में "90210" शामिल है, लेकिन मेरा UID 502 है। फ़ाइल में UID को 0 में बदलने के बजाय, जैसा कि इस समाधान ने सुझाया है, मैंने इसे 502 में बदल दिया। अच्छी तरह से काम किया।
एलएस

5
@NathanBasanese .vagrantफ़ोल्डर उसी स्थान पर है जिसे आपने चलाया थाvagrant up
हरीश रेड्डी

33

इस समस्या में थोड़ी अलग स्थिति में भागे। मुद्दा यह था कि ".vagrant" को git रेपो में जांचा गया था, और कमिटेटर मेरे द्वारा किए गए एक अलग UID के तहत चल रहा था।

समाधान: .vagrant to .gitignore जोड़ें


15
यह वह मुद्दा था जिसका मैंने सामना किया; हालाँकि, केवल जोड़ने .vagrantसे समस्या हल नहीं.gitignore होगी - YMMV, लेकिन इसे भी चलाया जाना चाहिए। git rm -rf .vagrant
मार्को मैसेंजियो

@marco: आप बिल्कुल सही कह रहे हैं। अगर ".vagrant" को रेपो में जोड़ा गया, तो इसे .ignignore से जोड़कर बहुत देर हो चुकी है :)
क्रिस कॉगडन

8

मैं उसी मुद्दे में भाग गया, लेकिन मेरे मामले में ऐसा इसलिए था क्योंकि मैं भाग vagrant upगया था sudo, और जब मैं बाद में वापस आया तो मैं भूल गया था।

मूर्खतापूर्ण गलती, लेकिन मुझे यकीन है कि यह पहली बार नहीं है जब यह किसी के साथ हुआ है :)


1
यहाँ एक ही मुद्दा, के तहत चलाने के लिए भूल गया sudo। लेकिन त्रुटि संदेश दुर्भाग्य से इसका संकेत नहीं है।
ज़ैक ब्लाज़िक

5

मैंने आईडी को .vagrant \ Machines \ default \ virtualbox \ creator_uid में बदलने की कोशिश की और यह मेरे लिए काम नहीं आया लेकिन फ़ाइल को हटाने के बाद, creator_uid ने चाल चली।


3

बस यहां यूजर आईडी बदलें। वैग्यानिक / मशीनें / डिफ़ॉल्ट / वर्चुअलबॉक्स / क्रिएटर_यूआईडी


1

वर्चुअलबॉक्स यूजर मैनुअल के अनुसार :

सुरक्षा उपाय के रूप में, आंतरिक नेटवर्किंग का लिनक्स कार्यान्वयन केवल वीएम को आंतरिक नेटवर्क स्थापित करने के लिए उसी उपयोगकर्ता आईडी के तहत चलने की अनुमति देता है।

दूसरे शब्दों में, आपको UID 0इसे चलाने के लिए रूट ( ) पर स्विच करना होगा।


10
सूडो के रूप में नहीं चलना चाहिए, बस अपनी .vant निर्देशिका को हटा दें और अपने उपयोगकर्ता के रूप में चलाएं
जेरेमी

1

यह संभव है कि आप कमांड चलाएं: sudo vagrant up

इसका मतलब यह होगा कि आपके नियमित उपयोगकर्ता को आप /.vagrantफ़ोल्डर और फ़ाइलों को देखने या हटाने में असमर्थ हैं ।

यदि ऐसा है, तो बस चलाएं: sudo vagrant destroy -f

फिर आपको चलाने में सक्षम होना चाहिए (आपके सामान्य उपयोगकर्ता खाते के रूप में): vagrant up



0

नया कंप्यूटर मिलने के बाद मुझे भी यही समस्या थी। अपने पुराने कंप्यूटर से सभी फाइलों को कॉपी करने के बजाय, मुझे गैट रिपॉजिटरी से फिर से योनि परियोजनाओं की जांच करनी पड़ी । उसके बाद, vagrant upठीक काम किया।


0

बस फ्रेड के https://stackoverflow.com/a/32256848/2065804 उत्तर पर जोड़ने के लिए ।

सुनिश्चित करें कि आपने सही VM की मशीन को बदल दिया है। उदाहरण के लिए, मेरा VM नाम डिफ़ॉल्ट नहीं है, बल्कि होमस्टेड -7 कहलाता है।

तो सही मार्ग का मार्ग है:

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

और नहीं:

.vagrant/machines/default/virtualbox/creator_uid

यह त्रुटि मुझे तब हुई जब मैंने अपने मैक को दूसरे मैक में बदल दिया।


0

वर्तमान वर्किंग डीआईआर में .vagrant छिपे हुए डायर की सामग्री को हटा दें और फिर से कमांड को योनि चलाएं। एक सिस्टम से दूसरे सिस्टम में Vagranfile / s की कॉपी / बैकअप के कारण त्रुटि। उपयोगकर्ता आईडी का वैग्यान्त तक पर्यावरण को लाने के लिए बेमेल .. आशा है कि यह चीयर्स में मदद करता है .. !! :)) यदि आप उस फ़ोल्डर को हटाना नहीं चाहते हैं, तो आप वर्तमान कार्यशील वारिस, यानी .vravrant / मशीनों / जेनकींस / वर्चुअलबॉक्स $ vim creator_uid की छुपी हुई dir में फ़ाइल में वर्तमान उपयोगकर्ता के यूआईडी को अपडेट कर सकते हैं।


0

मैंने उसी स्थिति का सामना किया है, लेकिन मेरे पास एक बहु-मशीन वैग्रांटफाइल है।

पुराने uid (1001) को नए (1000) द्वारा बदलने के लिए मैंने निम्नलिखित कमांड का उपयोग किया है:

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

0

मुझे वही समस्या थी जो मैं sudoपहले रखना भूल गया था vagrant up, आपको बस sudo vagrant upअपनी योनि फ़ाइल के फ़ोल्डर में निष्पादित करना होगा ।


0

मेरे पास मल्टी-मशीन योनि फाइल है। मैंने जाँच की है creator_uidऔर यह 0अभी भी लोड करने में असमर्थ है। इसलिए मैंने creator_uidसभी मल्टी-मशीन के लिए फाइल डिलीट कर दी है और इसने काम किया है। पथ होना चाहिए.vagrant\machines\<machine_name>\virtualbox

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.