Saya menemukan tugas menginstal ruby 2.0 pada Ubuntu 14.04 terbaru agak frustasi. Saya sadar bahwa saya bisa melupakan paket dan menginstal dari sumber - tapi saya lebih suka menginstal paket - jika itu mungkin.
Saya menemukan pertanyaan / jawaban ini tentang ruby pada 13.10 - yang tampak seperti apa yang saya inginkan.
Bagaimana cara menginstal ruby?
Sayangnya, strategi tersebut tampaknya tidak dapat dijalankan - paket ruby-switch telah dihapus pada 14.04.
http://www.ubuntuupdates.org/package/core/trusty/universe/base/ruby-switch
Penghapusan paket referensi bug yang, bagi saya, terlihat sama sekali tidak terkait.
Saya bingung mengapa menginstal ruby2.0 menggunakan apt-get install ruby1.9 dan menjadikannya default interpreter ruby. Saya memang mendapatkan biner ruby2.0 - tetapi skrip (yang bergantung pada penerjemah 2.0 saat menjalankan ruby) tidak mengambilnya. Selanjutnya, saat saya menggunakan gem et. Al. untuk menginstal paket ruby - ini tampaknya diinstal untuk ruby1.9 daripada 2.0. Sangat tidak memuaskan.
Adakah yang bisa memberikan petunjuk tentang cara paling mudah untuk menginstal ruby 2.0 sebagai interpreter ruby standar? Bagaimana saya bisa beralih dari ruby 1.9 ke 2.0 tanpa ruby-switch?
sumber
Ruby versi Debian tidak mendukung beberapa instalasi ruby pada sistem yang sama. Debian menghapus paket dan Ubuntu baru saja menghapusnya dari repositori. Anda harus menggunakan
rbenv
untuk beralih di antara versi ruby yang berbeda. Ini adalah cara yang disarankan oleh deskripsi paket ruby-switch dan metode yang telah dibahas dalam bug 737782 lebih disukai, melalui dikatakan bahwa tidak boleh ada lebih dari satu versi ruby di repositori.Ruby 2.0 diinstal secara default saat menginstal
ruby2.0
paket dan tidak ada tindakan lain yang diperlukan. Jika paketruby
itu diinstal disarankan untuk menghapusnya. Anda harus memiliki biner yang/usr/bin/ruby2.0
tersedia di sistem Anda.sumber
sumber
ln -fs
dapat memaksa pembaruan dan menghindari penggunaan yang selalu menakutkanrm -rf
Jika Anda ingin beralih di antara rubi, saya sarankan menggunakan rvm ( https://rvm.io ). Ini adalah manajer paket dan memungkinkan Anda untuk menginstal banyak rubi yang berbeda (bukan hanya Matz) pada satu mesin, baik lokal untuk pengguna atau global untuk semua pengguna.
Saya tahu Anda meminta "paket," jadi mungkin ini tidak akan berhasil untuk Anda. Tapi saya pikir mungkin membantu jika ini adalah mesin pengembangan Anda.
Manfaat melakukannya dengan cara ini adalah Anda dapat menginstal satu permata untuk 2.1.1 dan lainnya untuk 2.0 atau 1.9.3, dll. Ini juga memungkinkan Anda untuk menguji jruby, rubinius, dll. Tanpa melakukan sistem Anda ke satu.
Saya tidak menggunakannya untuk produksi, tetapi tampaknya ini cocok untuk itu juga untuk pengembangan.
Inilah quickstart: https://rvm.io/rvm/install
sumber
Terlambat dalam permainan tapi saya pikir solusi yang mungkin lebih lengkap daripada symlink hard-coding adalah penggunaan ini
update-alternatives
, diposting di sini secara lisan kalau-kalau orang lain digigit oleh frustrasi yang sama dan ingin solusi yang lebih asli. Ini menangani semua biner dan halaman manual, terlebih dahulu menghapus referensi terlebih dahulu untuk menghindari konflik.Peringatan:
update-alternatives
jadi mungkin ini berlebihan dan / atau dilakukan dengan hati-hati.Script (saya beri nama
fix-ruby-alternatives.sh
):sumber
${RECMD}
dan${CMD}
tanpa tanda kutip, alih-alih menggunakaneval
. Pada catatan lain: Saya akan meminjam "dengan senang hati". :)