Как установить Ruby 2.1.4 на Ubuntu 14.04

119

Я не знаю, как установить последнюю версию Ruby на Ubuntu.

Сначала я установил Ruby 1.9.3 по умолчанию, используя

sudo apt-get install ruby

Затем я попытался установить версию 2.0, используя

sudo apt-get install ruby2.0

Моя версия Ruby по-прежнему «ruby 1.9.3p484 (2013-11-22, редакция 43786) [x86_64-linux])»

Что я должен делать?

Alek
источник
этот ответ был очень полезен для установки менеджера версий Ruby, который позволяет вам проверять и использовать любую версию, которую вы хотите, в домашней среде без необходимостиsudo
Джефф Пакетт,

Ответы:

131

Прежде всего, установите необходимые библиотеки:

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

Затем установите rbenv, который используется для установки Ruby:

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.3.1
rbenv global 2.3.1
ruby -v

Затем (необязательно) скажите Rubygems не устанавливать локальную документацию:

echo "gem: --no-ri --no-rdoc" > ~/.gemrc

Кредиты: https://gorails.com/setup/ubuntu/14.10

Предупреждение!!! Есть проблемы с Gnome-Shell. См. Комментарий ниже.

dubadub
источник
1
Стоит отметить, что пользователю, возможно, также придется выполнить следующую команду перед установкой ruby ​​2.2.0 sudo apt-get install libffi-dev
ThaDick
Предупреждение! Добавление этих строк в ваши файлы .bash * может привести к тому, что Gnome-Shell не загрузится. Я не мог войти, пока не удалил эти строки.
Cerin
Спасибо, @Cerin. Добавлено предупреждение к публикации. Вы справились с этой проблемой? Как добавить путь?
dubadub
5
Нет, я так и не решил это. Вместо этого я попытался установить rvm, но, по-видимому, установщик (из get.rvm.io ) обнаруживает Ubuntu и буквально отказывается от установки, перенаправляя на вопрос SO, который, в свою очередь, рекомендует запустить тот же установщик ... Поэтому я решил вместо этого полностью удалить Ruby из моей системы и переключить все мои инструменты Ruby на эквиваленты Python.
Cerin
Связана ли проблема с оболочкой gnome с тем, как изменяется переменная PATH? Я всегда читал, что новые пути должны быть добавлены к PATH, а не в начале. Я также читал, что переменные среды следует добавлять в ~ / .profile или ~ / .bash_profile вместо ~ / .bashrc.
джафир
206

Существует PPA с последними версиями Ruby 2.x для Ubuntu 12.04+:

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

$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux-gnu]
Влад Фролов
источник
Как мне выбрать rubyбыть ruby2.3?
njzk2
1
@ njzk2 Попробуйте sudo update-alternatives --config rubyи следуйте инструкциям там. При новой установке без официального пакета Ubuntu ruby ​​пакет PPA автоматически настроил для меня rubyпсевдоним ruby2.3.
Влад Фролов
Хотя этот способ сделать намного проще, использование PPA на самом деле не лучший способ, PPA могут исчезнуть, часто не так тщательно собираются, как официальные каналы и т. Д. PPA - это репозиторий, который настроил один человек и бегает сами. Просто будь осторожен там.
Джон Хант
38

Лучше всего установить его с помощью rvm (менеджер версий ruby).
Выполните следующие команды в терминале:

sudo apt-get update
sudo apt-get install build-essential make curl
\curl -L https://get.rvm.io | bash -s stable
source ~/.bash_profile
rvm install ruby-2.1.4

Затем проверьте установленные и используемые версии ruby:

rvm list
rvm use --default ruby-2.1.4

Также вы можете напрямую добавить путь к рубиновому бункеру в переменную PATH. Ruby установлен в

$HOME/.rvm/rubies export PATH=$PATH:$HOME/.rvm/rubies/ruby-2.1.4/bin
user3301099
источник
12
Распространение произвольного кода по сети - плохая идея. Вот «Стена стыда» с оскорбительными веб-сайтами: curlpipesh.tumblr.com
лабиринт
1
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Бретт,
Дж. Комптон: Лучше поговорить об этом с людьми из rvm, так как это канонический метод установки rvm.
Lonny Eachus
6

Используйте RVM (Ruby Version Manager) для установки любых версий Ruby и управления ими. У вас может быть несколько версий Ruby, установленных на машине, и вы можете легко выбрать ту, которая вам нужна.

Чтобы установить тип RVM в терминал:

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

И пусть работает. После этого у вас будет установлен RVM и Ruby.

Источник: Сайт RVM

Бартош Ленцкий
источник
1
Чтобы установить RVM, следуйте инструкциям на их странице установки . Использование RVM - это гораздо больше, чем запуск cURL, и на странице установки это проходит. Его следует прочитать перед установкой, чтобы узнать, что он будет делать, включая шаги по устранению неполадок.
Железный Человек
@theTinMan Конечно, я с вами полностью согласен. Вот почему я добавил их страницу в качестве источника, чтобы автор этой ветки мог прочитать об этом больше.
Бартош Ленцкий
Что ж, домашняя страница для RVM - это одно, но большинство вопросов о RVM, которые у нас есть, можно было бы решить немедленно, если бы люди прочитали всю страницу установки.
Железный Человек
1
Распространение произвольного кода по сети - плохая идея. Вот "Стена стыда" с оскорбительными веб-сайтами: curlpipesh.tumblr.com
лабиринт
3

обновить убунту:

 sudo apt-get update
 sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

Установите rvm, который управляет версиями ruby:

для установки rvm используйте следующую команду.

 \curl -sSL https://get.rvm.io | bash -s stable
 source ~/.bash_profile
 rvm install ruby-2.1.4

Проверьте установленные и используемые версии ruby:

rvm list
rvm use --default ruby-2.1.4
Судхир Вишвакарма
источник