Bagaimana cara memperbarui Ruby ke 1.9.x di Mac?

107

Saya telah membuat akun pengguna baru di mac saya dan saya mencoba memperbarui ke versi ruby ​​saat ini di atasnya (1.9.2) dari default macan tutul salju 1.8.7. Adakah yang bisa mengarahkan saya ke tutorial atau menjelaskan metode terbaik untuk mengupdate Ruby di Mac saya dari 1.8 ke 1.9.2? Terima kasih

agentbanks217
sumber

Jawaban:

66

Saya akan membuat saran yang kuat untuk rvm .

Ini cara yang bagus untuk mengelola banyak Ruby dan set permata tanpa bertabrakan dengan versi sistem.


Saya akan menambahkan bahwa sekarang (4/2/2013), saya banyak menggunakan rbenv , karena kebutuhan saya sederhana. RVM sangat bagus, tetapi memiliki banyak kemampuan yang tidak pernah saya butuhkan, jadi saya memilikinya di beberapa mesin dan rbenv di desktop dan laptop saya. Ada baiknya memeriksa keduanya dan melihat mana yang paling sesuai dengan kebutuhan Anda.

Manusia Timah
sumber
Sepakat. Dan bahkan jika beberapa versi bukan menjadi masalah (ha!) Rvm sangat bagus untuk mencari tahu perpustakaan asli mana yang hilang. Sangat diperlukan.
Isaac Rabinovitch
198

Seperti yang disarankan The Tin Man (di atas) RVM ( Ruby Version Manager ) adalah Standar untuk mengupgrade instalasi Ruby Anda di OSX: https://rvm.io

Untuk memulai, buka Jendela Terminal dan jalankan perintah berikut:

\curl -L https://get.rvm.io | bash -s stable --ruby

(Anda harus mempercayai Tim Pengembang RVM bahwa perintah tersebut tidak berbahaya - jika Anda penguin paranoid seperti saya, Anda selalu dapat membaca sumbernya : https://github.com/wayneeseguin/rvm ) Setelah selesai Anda perlu memulai ulang terminal untuk menjalankan rvmperintah.

rvm list known

(menunjukkan versi Ruby terbaru yang tersedia )

rvm install ruby-2.3.1

Untuk versi tertentu, diikuti oleh

rvm use ruby-2.3.1

atau jika Anda hanya menginginkan versi terbaru (terkini):

rvm install current && rvm use current

(instal rilis stabil saat ini - pada saat penulisan ruby-2.3.1 - perbarui wiki ini ketika versi baru dirilis)

Catatan tentang Kompilasi Ruby : Dalam kasus saya, saya juga harus menginstal Homebrew http://mxcl.github.com/homebrew/ untuk mendapatkan permata yang saya butuhkan ( RSpec ) yang pada gilirannya memaksa Anda untuk menginstal Xcode (jika Anda belum melakukannya) ) https://itunes.apple.com/us/app/xcode/id497799835 DAN / ATAU instal paket GCC dari: https://github.com/kennethreitz/osx-gcc-installer untuk menghindari kesalahan menjalankan " make ".

Sunting: Pada Mavericks Anda dapat memilih untuk menginstal hanya alat baris perintah Xcode daripada seluruh paket Xcode, yang hadir dengan gcc dan banyak hal lain yang mungkin Anda perlukan untuk membuat paket. Itu dapat diinstal dengan menjalankan xcode-select --installdan mengikuti prompt di layar.

Catatan tentang erros : jika Anda mendapatkan pesan error " RVM is not a function " saat mencoba perintah ini, kunjungi: Bagaimana cara mengubah versi Ruby saya menggunakan RVM? untuk solusinya.

nelsonic
sumber
Menyiapkan semua ini di Mountain Lion membutuhkan banyak kesabaran. Jika Anda mengalami kesalahan "Error running 'env GEM_PATH = / Users / ..." ini bukan jalur Anda, dan Anda akan melihat di log bahwa yang openssl (yang mungkin diinstal) rusak di RVM dan mereka menyediakan halaman tentang mengerjakannya rvm.io/packages/openssl
Dylan Valade
4
Aku benar-benar benci kekacauan di Ruby. Ini berantakan. Namun, jawaban ini membawa saya ke jalan yang benar dan banyak terima kasih untuk itu!
Ian Lewis
1
Berkeliaran di antara pos yang membawa saya ke masalah lain, saya menemukan yang ini sangat membantu karena menjelaskan cara menggunakan RVM, tidak hanya menggunakannya.
Hector Ordonez
19

Dengan minuman ini adalah satu baris:

(dengan asumsi Anda telah mengetuk homebrew / versi, yang dapat dilakukan dengan menjalankan brew tap homebrew/versions)

brew install ruby193

Bekerja di luar kotak untuk saya di OS X 10.8.4. Atau jika Anda menginginkan 2.0, Anda cukupbrew install ruby

Secara lebih umum, brew search rubymenampilkan repo berbeda yang tersedia, dan jika Anda ingin benar-benar spesifik, Anda dapat menggunakan brew versions rubydan membayar versi tertentu.

Nils
sumber
1
Besar satu-liner untuk menginstal tertentu versi ruby! beralih antara versi ruby ​​dengan minuman tidak semudah ... stackoverflow.com/questions/8730676
nelsonic
4

Saya tahu ini posting lama, tetapi saya ingin menambahkan beberapa informasi tambahan tentang itu. Pertama, saya pikir itu rvmbagus TAPI itu tidak memperbarui ruby ​​dari sistem saya (MAC OS Yosemite).

Apa rvmyang dilakukan: menginstal ke lokasi lain dan mengatur jalur ke variabel lingkungan saya ... Dan saya agak bosan, karena sekarang saya memiliki dua ruby ​​di sistem saya.

Jadi untuk memperbaikinya, saya menghapus instalasi rvm, kemudian menggunakan manajer paket Homebrew yang tersedia di sini dan menginstal perintah terminal ruby ​​throw dengan melakukan brew install ruby.

Dan kemudian, semuanya bekerja dengan sempurna! Ruby dari sistem saya telah diperbarui! Semoga bisa membantu para petualang berikutnya!

Damiii
sumber
1
Saya berjuang untuk memutuskan apakah saya harus menggunakan rvmatau brew. ini membantu. terima kasih
unifreak
Bukankah minuman juga melakukan hal yang sama?
segera
3

Saya tidak akan setuju dengan The Tin Man di sini. Saya menganggap rbenv lebih disukai daripada RVM. rbenvtidak mengganggu shell Anda secara drastis seperti yang dilakukan RVM, dan ini memungkinkan Anda menambahkan instalasi Ruby terpisah di folder biasa yang dapat Anda periksa secara langsung. Ini memungkinkan Anda untuk mengkompilasi Ruby sendiri. Garis besar perbedaan yang bagus di sini: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Saya memberikan instruksi untuk mengkompilasi Ruby 1.9 untuk rbenv di sini . Lebih lanjut, informasi lebih detail ada di sini . Saya telah menggunakan teknik ini dengan mudah berhasil pada Macan Tutul Salju, Singa, dan Singa Gunung.

Matt
sumber
1
Pada saat pertanyaan ini pertama kali diajukan, rbenv bukanlah pilihan. Waktu berubah, seperti halnya kode. RVM masih merupakan pilihan yang baik, tetapi ini kelas berat dibandingkan dengan rbenv. Saya menggunakan keduanya pada mesin yang berbeda, karena keduanya berguna dalam cara yang berbeda.
Tin Man
2

Artikel Hivelogic Dan Benjamin Menginstal Ruby, RubyGems, dan Rails di Snow Leopard adalah tempat yang disarankan untuk dikunjungi meskipun artikelnya untuk 1.8, jadi inilah instalasi khusus Ruby 1.9 di Snow Leopard . Hati-hati dengan hal 64-bit ... baik semua 64-bit 'gemuk' (seperti - misalnya - Apache di OS X, yang dapat menyebabkan masalah dengan pustaka 32-bit) atau periksa permata apa pun yang Anda suka yang digunakan untuk memastikan semuanya baik-baik saja untuk 64-bit.

Dave Everitt
sumber
2

Perintah ini benar-benar berfungsi

\curl -L https://get.rvm.io | bash -s stable --ruby

Anthony
sumber
0

Seperti yang disebutkan sebelumnya, versi bundler mungkin terlalu tinggi untuk versi rel Anda.

Saya mengalami masalah yang sama menggunakan Rails 3.0.1 yang membutuhkan Bundler v1.0.0 - v1.0.22

Periksa versi bundler Anda menggunakan: gem list bundler

Jika versi bundler Anda tidak dalam kisaran yang sesuai, saya menemukan solusi ini berfungsi: rvm @global do gem uninstall bundler

Catatan: rvm diperlukan untuk solusi ini ... kasus lain mengapa Anda harus menggunakan rvm di tempat pertama.

whiteshooz
sumber
0

Ada beberapa pengelola versi lain yang perlu dipertimbangkan, lihat beberapa contoh dan salah satu yang tidak terdaftar di sana yang akan segera saya coba adalah ch-ruby . Saya mencoba rbenv tetapi mengalami terlalu banyak masalah. RVM adalah andalan saya, meskipun terkadang ada masalah yang aneh (karena itu keinginan saya untuk mencoba ch-ruby saat ada kesempatan). Saya tidak akan menyentuh sistem Ruby, karena hal-hal lain mungkin bergantung padanya.

Saya harus menambahkan saya juga telah mengkompilasi Ruby saya sendiri beberapa kali, dan menggunakan artikel Hivelogic (seperti yang disarankan Dave Everitt) adalah ide yang baik jika Anda mengambil rute itu.

iain
sumber