Как установить 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])»

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


этот ответ был очень полезен для установки менеджера версий 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. См. Комментарий ниже.


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

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.