Как установить Ruby> = 2.1.9?


9

Я пытался, sudo apt-get install rubyно он установит Ruby 2.1.5.

Как я могу установить версию> = 2.1.9?

Ответы:


6

В репозиториях Raspbian есть пакет ruby ​​2.3 , но, поскольку apt show rubyв системе «jessie» отображается 2.1, я предполагаю, что это «растягивающийся» пакет, т. Е. Часть текущей ветви тестирования / нестабильной.

Тем не менее, я запустил lddего, и libruby2.3только у них нет требований, которые не являются частью jessie, так что вы можете установить их следующим образом:

  1. Отредактируйте /etc/apt/sources.listи добавьте строку:

    deb http://archive.raspbian.org/raspbian/ stretch main
  2. Бегать apt get update; это может занять некоторое время.

Тогда попробуй apt install ruby2.3. Это должно сработать, но в дистрибутиве есть потенциально 2.3 рубина, которые потребуют полного обновления системы, чтобы растянуться. У меня есть один пи, который я сделал это несколько месяцев назад, и это было нормально, но я не использую ruby ​​и использую этот пи только для определенных вещей, поэтому имейте в виду, что полное обновление до тестирования может (но, скорее всего, не будет) привести в осложнениях.

Обновление таким способом может также усложнить использование дистрибутивов - опять же, я не пользователь ruby, поэтому о вероятности этого я не могу больше говорить. Вероятно, установка модулей ruby ​​с использованием собственной системы управления пакетами и не aptпозволит обойти это. Хотя apt может в конечном итоге захотеть установить некоторые из них в любом случае как зависимости, они не должны иметь приоритет при использовании.

Для некоторых вещей, использование gemвместо этого потребует от вас apt install -devпакетов для вещей, с которыми модули скомпилированы, и может быть небольшое количество тех, которые просто не будут летать.

Debian (и, следовательно, Raspbian) придерживается консервативной политики в отношении управления версиями, что означает, что они предпочитают держаться подальше от передового края в стабильной ветке (в настоящее время, Джесси), но также поддерживают довольно стабильную ветку «нестабильная / тестирующая» (stretch) - или это когда-то, когда это было в игре некоторое время, которое сейчас имеет.

Поэтому я рекомендую пойти на это. Теперь вы знаете о предостережениях, и, конечно, вам все равно следует сохранять резервные копии важных данных, так что, вероятно, риск невелик.


спасибо , но я не вижу sources.list в /etc/apt/sources.list.d, просто raspi.list. Ты имеешь в виду, что мне нужно сделать новый файл?
Тревор

1
Извините, это должно было быть /etc/apt/sources.list[исправлено выше]. Я не уверен, какова актуальность использования одного против другого (если есть), но sources.listопределенно работает.
Златовласка

хорошо, хорошо работает
Тревор

4

Установка Ruby на RPi3 с помощью Raspbian Stretch (9.4)


Есть два способа установить ruby ​​на RPi:

  1. Установка ruby2.3пакета APT.
  2. Используя официальный метод установки RVM.

(1) Установка с помощью APT

sudo apt-get install ruby2.3

Это также установит дополнительные зависимости:

libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet
ruby-power-assert ruby-test-unit ruby2.3 rubygems-integration

Однако, как хорошо известно, разработчики дистрибутивов Raspbian предпочитают задерживать релизы версий, поэтому этот пакет, скорее всего, уже устарел по сравнению с тем, что доступно. Чтобы получить последнюю версию (или даже версию для разработчика), используйте метод RVM ниже.


(2) Установка с помощью RVM

Что такое RVM?

Рубин Менеджер версия ( РВМ ) является инструментом командной строки , которая позволяет легко устанавливать, управлять и работать с несколькими средами рубина из переводчиков на множества драгоценных камней.

Правильный способ установить рубин на вашем RPi должны следовать инструкциям из одного из этих мест:

  1. Rvm.io сайт
  2. РВМ GitHub сайт

В любом случае, вас попросят запустить скрипт прямо из вывода ответа curl , как это.
( Не используйте sudo! )

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

Тем не менее, это обычно не рекомендуется по очевидным причинам безопасности, так как вы понятия не имеете, что происходит или происходит!

Поэтому вместо этого сделайте следующее.

cd ~/Downloads/
\curl -sSL https://get.rvm.io -o rvm-installer
# ^^ That actually resolve to:
# curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer -o rvm-installer

chmod 755 rvm-installer
./rvm-installer

Downloading https://github.com/rvm/rvm/archive/master.tar.gz
Installing RVM to /home/pi/.rvm/
    Adding rvm PATH line to /home/pi/.profile /home/pi/.mkshrc /home/pi/.bashrc /home/pi/.zshrc.
    Adding rvm loading line to /home/pi/.profile /home/pi/.bash_profile /home/pi/.zlogin.
Installation of RVM in /home/pi/.rvm/ is almost complete:

  * To start using RVM you need to run `source /home/pi/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

. /home/pi/.rvm/scripts/rvm
rvm list

# No rvm rubies installed yet. Try 'rvm help install'.

rvm list known

# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.7]
[ruby-]2.4[.4]
[ruby-]2.5[.1]
[ruby-]2.6[.0-preview1]
ruby-head
...

К сожалению , rvm-installer helpне показывает один из самых полезных скрытого варианта: rvm-installer stable --ruby.

Также, как уже было отмечено, когда вы запустили rvm-installer , следующие файлы были изменены, чтобы добавить некоторые новые вещи, связанные с rvm.

~/.profile
~/.mkshrc
~/.zshrc
~/.bash_profile
~/.zlogin
~/.rvm/scripts/rvm

Если вам это не нравится, обязательно передайте --ignore-dotfilesопцию установщику rvm . Если вы это сделаете, вам нужно будет сделать это вручную:

echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile

Далее мы проверяем, какая стабильная версия Ruby действительно рекомендуется:
https://www.ruby-lang.org/en/downloads/

rvm install ruby-2.5.1 --binary         # this binary doesn't exist!
date; time rvm install ruby-2.5.1 -j 4  # we compile with 4 threads, 
                                        # this take ~XX min on a RPi3 

Как только это закончится, я также могу завершить этот ответ ...

Дело в том, что rvmпосле создания бинарных файлов они кажутся более удобными для пользователя. Почему они не широко доступны для RPi3, кажется довольно сумасшедшим.

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