Bagaimana Anda menurunkan rubygems?

99

Saya telah menginstal rubygems 1.3.1 tetapi saya ingin kembali ke 1.2.0. Apa perintah untuk menurunkan rubygems?

Shalmanese
sumber
Apakah ada alasan khusus mengapa Anda perlu menurunkan versi (mungkin karena perilaku memasukkan permata ~ / .gems ketika Anda lupa sudo)?
Jarin Udom
Ini akan menjadi alasan mengapa: stackoverflow.com/questions/4859600/…
Ramon Tayag

Jawaban:

39

Diperbarui November 2011: Sekarang RVM sudah keluar, coba jalankan rvm install rubygems <version>.

Ryan Bigg
sumber
36
Eh, jauh lebih baik sudo gem update --system 1.4.2ataurvm install rubygems 1.4.2
mrm
198

Ini berfungsi untuk saya saat menurunkan dari 1.5.2 ke 1.4.2 karena versi rel lama:

sudo gem update --system 1.4.2

Informasi lebih lanjut tentang menurunkan / meningkatkan rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md

pseidemann.dll
sumber
1
Terima kasih! Ini berhasil untuk saya. Miliki proyek Rails 2.2.2 lama yang mengeluh tanpa ini. Saya masih tidak tahu mengapa sebenarnya (jika ada yang memiliki detail tentang itu, saya akan penasaran) tetapi setidaknya itu berfungsi sekarang.
Brian Armstrong
1
@BrianArmstrong Ada juga bug di 2.3.x yang sudah diperbaiki di 2-3-stablecabang rel (lihat tautan ). Mungkin perbaikan ini akan tersedia di rilis berikutnya dari 2.2.x.
pseidemann
Ini sepertinya cara yang paling bisa diandalkan.
Marnen Laibow-Koser
apakah ini melakukannya hanya untuk gemset tertentu? atau apakah saya perlu bolak-balik antara rubygems jika saya ingin beralih antara pengembangan rel 2 dan rel 3?
aarona
@DJTripleThreat lihat stackoverflow.com/a/7700388/616310 untuk rvm. ketika Anda menggunakannya rbenvharus cukup untuk menyalin instalasi ruby. ketika Anda tidak menggunakan rbenvatau rvmdaripada saya akan menyarankan Anda untuk menggunakan rbenvkarena jika tidak Anda perlu bolak-balik dengan sistem ruby
pseidemann
25

Jika Anda menggunakan RVM, Anda dapat melakukan ini untuk menghapus permata ruby ​​saat ini, lalu meningkatkan / menurunkan versi rubygems:

rvm install rubygems 1.4.2
adzdavies
sumber
cukup googling ini untuk mencoba dan menyingkirkan banyak peringatan penghentian yang disebabkan oleh pembaruan rubygems baru-baru ini, menyelamatkan saya dari banyak kerumitan, terima kasih :)
Max Williams
15

Ini baru saja berhasil bagi saya di OSX untuk beralih dari 1.5.0 kembali ke 1.4.2

sudo gem uninstall -v '1.5.0' rubygems-update
sudo gem update --system --local
patrickmcgraw.dll
sumber
2

Saya memiliki masalah serupa di tumpukan Rails 3 lama. Ketika jenis masalah ini terjadi, rekomendasi saya adalah masuk ke server produksi tempat aplikasi saat ini berjalan dan memeriksa versi rubygems yang digunakan:

gem -v

Bagi saya, itu menggunakan 1.8.24. Jadi yang perlu saya lakukan adalah menurunkan versi rubygem saya saat ini yang dihasilkan dari "rvm install 1.9.3", ketika saya menginstal ruby ​​lama untuk aplikasi ini. Saya menjalankan perintah berikut:

 $ rvm install rubygems 1.8.24 --force

Dan itu berhasil. Catatan Saya menjalankan Ubuntu 14.04 dan server yang saya gunakan juga Ubuntu.

Donato
sumber
Harus menambahkan --force jika saya ingin menurunkan versi jika tidak, rvm tidak akan melanjutkan penginstalan
Christian
-1

Saya menggunakan perintah ini untuk kembali ke versi permata yang dibutuhkan versi ruby ​​saya:

rvm rubygems current

Jika memberikan kesalahan checksum coba

rvm rubygems current --verify-downloads 1

Itu berhasil bagi saya.

Adrian
sumber