2013-07-02 9 views
8

मैंने एक वाग्रेंट मशीन चलाने का प्रयास किया लेकिन त्रुटियों में भाग गया क्योंकि मेरे पास वग्रेंट 1.0.1 स्थापित था। मैं फिर अनइंस्टॉल और स्थापित Vagrant 1.2.2। हालांकि जब मैं योनि चलाता हूं तो मुझे एक त्रुटि मिलती है।वारंटी precise32 को नए संस्करण में अपग्रेड कैसे करें?

$ vagrant up 

Bringing machine 'default' up with 'virtualbox' provider... 
The box 'precise32' is still stored on disk in the Vagrant 1.0.x 
format. This box must be upgraded in order to work properly with 
this version of Vagrant. 

मैंने योनि इनिट का प्रयास किया लेकिन एक त्रुटि भी मिली।

$ vagrant init precise32 http://files.vagrantup.com/precise32.box 

`Vagrantfile` already exists in this directory. Remove it before 
running `vagrant init`. 

मैं अपने सटीक 32 बॉक्स को वग्रेंट के नए संस्करण में कैसे अपग्रेड कर सकता हूं?

उत्तर

15

भागो

vagrant box repackage precise32 virtualbox 
+0

चेतावनी: यह एक बड़ी फ़ाइल (आकार शायद अपने वी एम पर निर्भर करता है छोड़ने का एक पक्ष प्रभाव है, मैं एक 640 मेग फ़ाइल मिला) को आपकी वर्तमान कार्य निर्देशिका में 'package.box' कहा जाता है। और यदि आपके पास पहले से ही ऐसी फ़ाइल थी, तो यह चुपचाप अधिलेखित हो जाएगी (मैं इसे केवल एक पैकेज ढूंढकर निष्कर्ष निकालूंगा। बॉक्स, तीन आवंटित बक्से को दोबारा करने के बावजूद)। –

0

बक्से आवारा 1.1+ का उपयोग कर पैक एक अतिरिक्त फ़ाइल docs अनुसार metadata.json आह्वान किया है।

प्रयास करें मैन्युअल रूप से सामग्री

{"provider": "virtualbox"} 

फिर से प्रयास करें और देखें यदि आप अभी भी समस्या है, तो साथ ~/.vagrant.d/boxes/precise32/virtualbox के तहत एक metadta.json फ़ाइल बनाने के लिए।

यदि यह मदद नहीं करता है, तो मैं एकमात्र तरीका सोच सकता हूं कि बॉक्स को निकालना और इसे नए आवृत्ति संस्करण का उपयोग करके फिर से जोड़ना है। आपको बक्से को नष्ट करने की ज़रूरत नहीं है, भले ही वे योनि के साथ काम न करें, फिर भी आप VBoxManage और वर्चुअलबॉक्स जीयूआई का उपयोग करके उन्हें संचालित कर सकते हैं।

+0

आपको वर्चुअलबॉक्स/उपनिर्देशिका में अन्य फ़ाइलों (बॉक्स-डिस्क 1.vmdk box.ovf Vagrantfile) को भी स्थानांतरित करना होगा। –

0

इन संस्करणों के बीच योनि निर्देशिका संरचना का प्रारूप बदल गया है। आप वर्चुअलबॉक्स नामक एक उपनिर्देशिका जोड़ते हैं, और उसके बाद मेटाडेटा.जेसन फ़ाइल को '{"प्रदाता": "वर्चुअलबॉक्स"} जैसी सामग्री के साथ जोड़ते हैं।

यहां एक बैश स्क्रिप्ट वाला एक सारांश है जिसका उपयोग आप स्वचालित रूप से करने के लिए कर सकते हैं, और अपनी स्क्रीन में परिवर्तन प्रिंट कर सकते हैं।

wget -q -O - https://gist.github.com/xrd/6055536/raw/8398322313a7e8a60ee8f9ad4d6a87d50ee55b8d/gistfile1.txt | bash 

आउटपुट वास्तव में परिवर्तनों को दूर करने के लिए चलाया जा सकता है, यदि आप पहले से जो कुछ भी वापस लेना चाहते हैं।

यह सब एक ब्लॉग पोस्ट में विस्तृत है मदद कर सकता है जो:

Upgrading vagrant boxes to 1.2

+0

आपका उत्तर पोस्ट करने के लिए धन्यवाद! कृपया ध्यान दें कि आपको इस साइट पर, उत्तर के आवश्यक हिस्सों को पोस्ट करना चाहिए, या आपके पोस्ट जोखिमों को हटाया जाना चाहिए [एफएक्यू देखें जहां यह उन उत्तरों का उल्लेख करता है जो 'लिंक से काफी अधिक' हैं।] (Http: // stackoverflow। com/faq # हटाना) यदि आप चाहें तो लिंक अभी भी शामिल कर सकते हैं, लेकिन केवल 'संदर्भ' के रूप में। लिंक को लिंक के बिना जवाब स्वयं ही खड़ा होना चाहिए। – Taryn

संबंधित मुद्दे