เป็นไปได้ไหมที่จะมี Vagrant สองเวอร์ชันใน Mac OS X


2

ใน บริษัท ของฉันเรากำลังใช้ Vagrant 1.3 และฉันไม่สามารถอัปเดตได้เพราะไฟล์ Vagrant ที่เราใช้ในสภาพแวดล้อมการพัฒนาของเรานั้นเชื่อมโยงกับเวอร์ชันนั้นและไฟล์เหล่านั้นจะไม่ทำงานอีกต่อไป

ฉันกำลังคิดที่จะติดตั้ง Vagrant เวอร์ชันใหม่ลงในโฟลเดอร์อื่น แต่ฉันไม่รู้ว่าต้องทำอย่างไรและจะใช้งานได้หรือไม่ ฉันจำเป็นต้องใช้ Laravel Homestead ซึ่งเข้ากันได้เฉพาะกับคนจรจัด 1.6 เป็นต้นไป ...

ความคิดใด ๆ ขอบคุณ

(ฉันใช้ Max OS X 10.10.1 Yosemite)

คำตอบ:


2

ฉันยังมีปัญหาที่คล้ายกัน ฉันต้องการ 1.4.3 และไม่สามารถอัปเดตเป็น 1.7.4 หลังจากการทดลองหลายครั้งฉันคิดว่าฉันพบวิธีแก้ปัญหา มันเกี่ยวข้องกับการแฮ็กที่น่าเกลียด แต่มันก็หลอกให้ฉัน ฉันเขียนส่วนสำคัญที่อธิบายว่าฉันทำได้อย่างไร:

https://gist.github.com/arielpontes/b2d783fde85e1b3237b8

แจ้งให้เราทราบว่ามันใช้งานได้กับเวอร์ชั่นที่คุณต้องการหรือไม่ :)

[อัพเดท]นี่คือสำเนา / วางจากคำแนะนำในส่วนสำคัญ:

1. ติดตั้งVirtualBox 4.3และVagrant 1.4.3

Vagrant 1.4.3 ไม่ทำงานกับ VirtualBox รุ่นใหม่กว่า (> 4.3) ในระหว่างการทดลองนี้ฉันได้ทำการติดตั้งทั้งหมดของฉันหลายครั้งดังนั้นฉันจึงติดตั้งทุกอย่างตั้งแต่เริ่มต้น (เพียงไปที่หน้าดาวน์โหลดดาวน์โหลด dmg และเรียกใช้โปรแกรมติดตั้ง pkg ตามปกติ)

2. แฮ็คการติดตั้ง Vagrant 1.4.3

$ sudo mv /Applications/Vagrant /Applications/Vagrant\ 1.4.3
$ sudo ln -Fs /Applications/Vagrant\ 1.4.3/bin/vagrant /usr/bin/vagrant

* ใช้สำหรับเวอร์ชัน Vagrant ดั้งเดิมซึ่งติดตั้ง/Applications/Vagrantมา

3. ติดตั้ง Vagrant 1.7.4

Vagrant 1.7.4 มีการจัดระเบียบแตกต่างจาก 1.4.3 และเมื่อเรียกใช้คำสั่งที่ต้องการข้อมูลแอปพลิเคชันเป็นครั้งแรก (เช่นvagrant box list) มันจะอัปเดตโครงสร้างไฟล์ เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้นให้เรียกใช้:

$ sudo mv ~/.vagrant.d ~/.vagrant143.d

* คุณสามารถเรียกใช้สิ่งนี้ได้หลังจากติดตั้ง 1.7.4 เพียงให้แน่ใจว่าคุณไม่ได้เรียกใช้คำสั่ง vagrant ใด ๆ มาก่อน

ตอนนี้คุณก็ปลอดภัยที่จะติดตั้ง Vagrant 1.7.4 เมื่อเสร็จแล้วคุณสามารถตรวจสอบว่าทุกอย่างโอเค:

$ rehash
$ vagrant -v
Vagrant 1.7.4

* หากคุณยังคงได้รับ 1.4.3 เพียงแค่เปิดเปลือกใหม่

4. แฮ็กการติดตั้ง Vagrant 1.7.4

$ sudo mv /opt/vagrant /opt/vagrant174
$ sudo ln -Fs /opt/vagrant174/bin/vagrant /usr/bin/vagrant

* นี้สำหรับรุ่นจรจัดใหม่ซึ่งมีการติดตั้งใน/opt/vagrant

5. สร้างคำสั่งเชลล์เพื่อสลับ Vagrant

เพิ่มบรรทัดเหล่านี้ใน ~ / .bash_profile (หรือ ~ / .zshrc หรืออะไรก็ตามที่คุณใช้):

alias vagrant143='sudo ln -Fs /Applications/Vagrant\ 1.4.3/bin/vagrant /usr/bin/vagrant && mv ~/.vagrant.d ~/.vagrant174.d && mv ~/.vagrant143.d ~/.vagrant.d'
alias vagrant174='sudo ln -Fs /opt/vagrant174/bin/vagrant /usr/bin/vagrant && mv ~/.vagrant.d ~/.vagrant143.d && mv ~/.vagrant174.d ~/.vagrant.d'

แค่นั้นแหละ!

ตอนนี้คุณสามารถสลับระหว่างเวอร์ชันต่าง ๆ ได้อย่างง่ายดายด้วยการรันvagrant143หรือvagrant174:

$ vagrant143
$ vagrant -v
Vagrant 1.4.3
$ vagrant174
$ vagrant -v
Vagrant 1.7.4

โปรดทราบว่ากล่องคนเร่ร่อนของคุณจะถูกจัดเก็บแยกต่างหากดังนั้นหากคุณเพิ่มกล่องในขณะที่ใช้เวอร์ชั่น Vagrant จะไม่สามารถมองเห็นได้จากรุ่นอื่น:

$ vagrant143
$ vagrant box add trusty64
$ vagrant box list
trusty64 (virtualbox)
$ vagrant174
$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

ทั้งหมดนี้เป็นพวงแฮ็กที่น่าเกลียดและฉันไม่สามารถสัญญากับ Vagrant เวอร์ชั่นใหม่ได้ แต่มันก็ไม่ได้หลอกลวงสำหรับฉัน


สวัสดีเอเรียลดีใจที่คุณพบทางออก คุณอาจจะโพสต์วิธีแก้ปัญหา (หรือสรุปของมัน) ที่นี่? ด้วยวิธีนี้ข้อมูลที่จำเป็นทั้งหมดเกี่ยวกับปัญหาและวิธีแก้ไขจะอยู่ในหน้าเดียวกัน ขอบคุณ!
bertieb

ขอบคุณแอเรียล! บริษัท ของฉันปรับรุ่นเป็น 1.7 ในที่สุด แต่ฉันชอบโซลูชันของคุณ
itsjavi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.