คุณจะปรับลดระดับทับทิมได้อย่างไร?


99

ฉันติดตั้ง rubygems 1.3.1 แล้ว แต่ฉันต้องการกลับไปที่ 1.2.0 คำสั่งในการดาวน์เกรดทับทิมคืออะไร?


มีเหตุผลอะไรเป็นพิเศษไหมที่คุณต้องดาวน์เกรด (อาจเป็นเพราะพฤติกรรมการใส่อัญมณี ~ / .gems เมื่อคุณลืม sudo)
จรินทร์อุดม

นี่คงเป็นเหตุผลว่าทำไม: stackoverflow.com/questions/4859600/…
Ramon Tayag

คำตอบ:


39

Updated พฤศจิกายน 2011: ตอนนี้ที่ออก RVM rvm install rubygems <version>ลองทำงาน


36
เอ๊ะดีกว่ามากsudo gem update --system 1.4.2หรือrvm install rubygems 1.4.2
mrm

198

สิ่งนี้ใช้ได้ผลสำหรับฉันเมื่อปรับลดรุ่นจาก 1.5.2 เป็น 1.4.2 เนื่องจากรางรุ่นเก่า:

sudo gem update --system 1.4.2

ข้อมูลเพิ่มเติมเกี่ยวกับการดาวน์เกรด / การอัพเกรดทับทิม: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md


1
ขอบคุณ! สิ่งนี้ได้ผลสำหรับฉัน มีโครงการ Rails 2.2.2 เก่าที่บ่นโดยไม่มีสิ่งนี้ ฉันยังไม่รู้ว่าทำไมจริง ๆ แล้ว (ถ้าใครมีรายละเอียดเกี่ยวกับเรื่องนี้ฉันก็อยากรู้) แต่อย่างน้อยมันก็ใช้งานได้แล้ว
Brian Armstrong

1
@BrianArmstrong นอกจากนี้ยังมีข้อบกพร่องใน 2.3.x ซึ่งได้รับการแก้ไขแล้วใน2-3-stableสาขาราง(ดูลิงค์ ) บางทีการแก้ไขนี้อาจพร้อมใช้งานในรุ่นถัดไป 2.2.x.
pseidemann

นี่เป็นวิธีที่น่าเชื่อถือที่สุด
Marnen Laibow-Koser

สิ่งนี้ทำเพื่ออัญมณีเฉพาะหรือไม่? หรือฉันจะต้องกลับไปกลับมาระหว่างทับทิมถ้าฉันต้องการสลับระหว่างการพัฒนาราง 2 และราง 3?
aarona

@DJTripleThreat ดูstackoverflow.com/a/7700388/616310rvmสำหรับ เมื่อคุณใช้rbenvควรคัดลอกการติดตั้งทับทิมเพียงพอ เมื่อคุณไม่ได้ใช้rbenvหรือrvmฉันขอแนะนำให้คุณใช้rbenvเพราะไม่เช่นนั้นคุณต้องกลับไปกลับมากับระบบทับทิม
pseidemann

25

หากคุณใช้ RVM คุณสามารถทำได้เพื่อลบอัญมณีทับทิมปัจจุบันจากนั้นอัปเกรด / ดาวน์เกรดทับทิม:

rvm install rubygems 1.4.2

เพียงแค่ googled สิ่งนี้เพื่อลองและกำจัดคำเตือนการเลิกใช้งานจำนวนมากที่เกิดจากการอัปเดตทับทิมล่าสุดช่วยให้ฉันไม่ยุ่งยากมากขอบคุณ :)
Max Williams

15

สิ่งนี้ใช้ได้ผลสำหรับฉันบน OSX เพื่อรับจาก 1.5.0 กลับเป็น 1.4.2

sudo gem uninstall -v '1.5.0' rubygems-update
sudo gem update --system --local

2

ฉันมีปัญหาที่คล้ายกันในสแต็ก Rails 3 เก่า เมื่อเกิดปัญหาประเภทนี้คำแนะนำของฉันคือไปที่เซิร์ฟเวอร์ที่ใช้งานจริงซึ่งแอปพลิเคชันกำลังทำงานอยู่และตรวจสอบว่าใช้ Rubygems เวอร์ชันใด:

gem -v

สำหรับฉันมันใช้ 1.8.24 ดังนั้นสิ่งที่ฉันต้องทำคือปรับลดรุ่นทับทิมปัจจุบันของฉันซึ่งสร้างจาก "rvm install 1.9.3" เมื่อฉันติดตั้งทับทิมเก่าสำหรับแอพนี้ ฉันรันคำสั่งต่อไปนี้:

 $ rvm install rubygems 1.8.24 --force

และมันได้ผล หมายเหตุฉันใช้ Ubuntu 14.04 และเซิร์ฟเวอร์ที่ฉันใช้ก็คือ Ubuntu ด้วย


ต้องเพิ่ม --force ถ้าฉันต้องการปรับลดรุ่นมิฉะนั้น rvm จะไม่ดำเนินการติดตั้ง
Christian

-1

ฉันใช้คำสั่งนี้เพื่อกลับไปที่เวอร์ชันอัญมณีที่เวอร์ชันทับทิมของฉันต้องการ:

rvm rubygems current

หากมีข้อผิดพลาดในการตรวจสอบให้ลอง

rvm rubygems current --verify-downloads 1

นั่นเป็นเคล็ดลับสำหรับฉัน

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