Instal ruby ​​2.2.3 via apt

16

Bagaimana cara menginstal Ruby 2.2.3 via apt di Ubuntu Wily? Saya mencoba sudo apt-get install ruby2.2-devdan sudo apt-get install ruby2.2(Apa bedanya, btw) dan kedua perintah tampaknya telah menginstal cukup banyak. Namun, tidak ada Ruby yang dapat dieksekusi setelahnya.

Michiel de Mare
sumber
apakah Anda benar-benar menginstal ingin menginstal ruby ​​2.2.3 via apt? Paket * -dev berisi header dan file yang * mungkin perlu berfungsi dengan benar. periksa ruby-lang.org resmi. Ini berisi informasi yang Anda perlukan untuk menginstal ruby ​​2.2.3 dengan benar
enzo
silakan lihat jika ini berguna [ gorails.com/setup/ubuntu/15.10]
Ravan
1
@maetsoh Mengapa saya harus menginstal setiap paket dengan apt, kecuali ruby? Saya suka manajer paket.
Michiel de Mare
Apakah Ruby bagian dari mekanisme "alternatif" di Ubuntu? Jika tidak, mungkin bermanfaat menggunakan sesuatu seperti rbenv untuk mengelola pemasangan Ruby. Terutama jika Anda perlu menggunakan berbagai versi Ruby secara bersamaan. Soft-linking bisa sedikit melelahkan ketika melakukan pengembangan Rails, dll.
Saya menggunakan rbenv secara lokal untuk beralih versi, jadi ini tidak masalah. Tetapi pada produksi saya hanya perlu 1 versi ruby, dan kemudian saya lebih suka manajer paket standar. Saya akan membaca tentang mekanisme "alternatif". ( manpages.ubuntu.com/manpages/vivid/en/man8/… )
Michiel de Mare

Jawaban:

7

apt-get install ruby2.2memang memberi Anda executable ruby ​​- itu hanya disebut ruby2.2. Permata dan irb adalah sama (yaitu gem2.2 install bundlerakan bekerja, irb2.2akan memberi Anda irb prompt.)

Ini normal di Ubuntu dan sistem alternatif umumnya berarti Anda tidak perlu memedulikannya, tetapi untuk alasan apa pun ruby ​​tidak dikelola oleh alternatif di Ubuntu. Tapi kita bisa membuatnya:

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.2 400 \
 --slave /usr/bin/rake rake /usr/bin/rake2.2 \
 --slave /usr/bin/ri ri /usr/bin/ri2.2 \
 --slave /usr/bin/rdoc rdoc /usr/bin/rdoc2.2 \
 --slave /usr/bin/gem gem /usr/bin/gem2.2 \
 --slave /usr/bin/irb irb /usr/bin/irb2.2 \
 --slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby2.2.1.gz \
 --slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake2.2.1.gz \
 --slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri2.2.1.gz \
 --slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc2.2.1.gz \
 --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem2.2.1.gz \
 --slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb2.2.1.gz

Menjalankan ini akan mendaftarkan ruby ​​dengan sistem alternatif dan, karena hanya ada satu pilihan, tetapkan ruby 2.2sebagai default. Ini akan membuat symlink dan membiarkan Anda menggunakan ruby/ gem/ dll. Tanpa menambahkan 2.2 di akhir.

Ini adalah versi yang sedikit diperbarui dari instruksi yang ditemukan di https://leonard.io/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/

Edmund
sumber
update-alternatif: kesalahan: permata alternatif tidak bisa menjadi budak ruby: itu adalah alternatif utama
Yevgen Kulik
17

Ok, ini bekerja untuk saya setidaknya:

sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.2 ruby2.2-dev

Pada lalai, saya mendapatkan kesalahan karena URL http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/wily/main/binary-amd64/tidak ada, hanya ada http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/devel/main/binary-amd64/.

Michiel de Mare
sumber
sama pada debian jessie: /
holms