Bagaimana cara mengatur default ke ruby ​​2.1.2?


12

Saya memiliki rubi 1.9.3 dan 2.1.2. Ketika saya membuka terminal secara default menggunakan ruby ​​1.9.3 tetapi saya ingin menggunakan ruby ​​2.1.2.

Bagaimana cara menetapkan ruby ​​2.1.2 sebagai default?

Jawaban:


6

Anda harus menginstal RVM untuk mengelola versi Ruby Anda. Untuk menginstal RVM lakukan

sudo apt-get install zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2 libxml2-dev libxslt-dev gawk libgdbm-dev libncurses5-dev automake libtool bison libffi-dev nodejs
\curl -sSL https://get.rvm.io | bash -s stable

Jika itu rusak karena alasan tertentu, ikuti petunjuk di sini: /programming//a/9056395/2376036

Kemudian untuk membuat 2.1.2 standar lakukan

rvm --default use 2.1.2

Hai, Terima kasih banyak atas bantuan Anda, Ya, saya mengikuti instruksi Anda tetapi di terminal saat menginstal rvm ia mengatakan "paket rvm rusak silakan periksa stackoverflow.com/a/9056395/497756 " jadi saya mengikuti jalan dan mendapatkannya untuk sukses, Terima kasih atas bantuan Anda
Rasool

Senang saya bisa membantu, silakan tandai jawaban saya sebagai diterima sehingga orang-orang di masa depan dapat mengetahui apa yang bekerja untuk Anda. Saya akan menambahkan konteks ekstra dari komentar Anda dalam jawaban saya.
Termhn

19

/usr/bin/rubybiasanya merupakan tautan /etc/alternatives/ruby, yang pada gilirannya menghubungkan ke executable dari versi ruby ​​default (mis /usr/bin/ruby1.9.). Anda dapat mengubah versi default yang dikonfigurasi dengan:

sudo update-alternatives --config ruby

Jika versi yang diinginkan tidak menjadikan dirinya sebagai alternatif untuk ruby(misalnya jika tidak diatur oleh manajer paket), Anda dapat melakukannya sendiri dengan

sudo update-alternatives --install /usr/bin/ruby ruby /path/to/ruby2.1 <PRIORITY>

di mana <PRIORITY>bilangan bulat positif. Kemudian Anda bisa melakukan langkah pertama.

Untuk detailnya lihat manualupdate-alternatives(8) .


5

Di Ubuntu 14.04 Anda dapat menginstal ruby2.0paket. Saat ini paket menawarkan versi 2.0.0p384 (akhirnya paket mungkin menawarkan Ruby 2.1 atau yang lebih baru). Ini adalah cara simpel cara menginstal binari ruby:

sudo apt install ruby2.0

Maka Anda akan memiliki binari ruby2.0dan gem2.0. Untuk mengganti ruby ​​default 1.9 dengan 2.0, Anda dapat melakukan yang berikut ( CATATAN: Anda mungkin merusak aplikasi yang benar-benar membutuhkan Ruby <= 1.9).

sudo update-alternatives --set /usr/bin/ruby ruby /usr/bin/ruby2.0 10
sudo update-alternatives --set /usr/bin/gem gem /usr/bin/gem2.0 10

Kemungkinan lain menggunakan beberapa manajer versi ruby ​​seperti rbenv atau RVM . Yang pertama lebih rumit untuk setup, tetapi kurang hacky daripada RVM. Keduanya memungkinkan menginstal hampir semua versi Ruby yang ingin Anda gunakan.


1
Anda yakin - sakelar pemasangan sudah benar. stackoverflow.com/a/1892889/525174 jawaban membantu saya, tetapi hanya perbedaan menggunakan sakelar --set.
Denis Besic

@ Combart ada kesalahan dalam kode Anda.
horaceT

@horaceT Bisakah Anda lebih spesifik? Anda yakin menggunakan versi Ubuntu yang sama ?
Tombart

@ Tombart Saya menyalin dan menempelkan baris pertama Anda. Ini kesalahannya: update-alternatives: error: alternative name (/usr/bin/ruby) must not contain '/' and spacesSaya punya ubuntu 14.04
horaceT

3

Jika Anda menggunakan Ubuntu 14.04 (Terpercaya) atau yang lebih baru maka Anda dapat menambahkan PPA ini:

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update

Maka Anda dapat menginstal paket mana pun yang Anda inginkan, misalnya

sudo apt-get install ruby2.2

Untuk dapat membangun ekstensi asli, Anda juga harus memaket paket

sudo apt-get install ruby2.2-dev

Untuk beralih dengan mudah antara versi Ruby yang diinstal, instal ruby ​​switch:

sudo apt-get install ruby-switch

Perintah utiliy

ruby -v
ruby-switch --list

Contoh

sudo ruby-switch --set ruby2.1

Dari: https://www.brightbox.com/docs/ruby/ubuntu/

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.