Ответы:
В репозиториях Raspbian есть пакет ruby 2.3 , но, поскольку apt show ruby
в системе «jessie» отображается 2.1, я предполагаю, что это «растягивающийся» пакет, т. Е. Часть текущей ветви тестирования / нестабильной.
Тем не менее, я запустил ldd
его, и libruby2.3
только у них нет требований, которые не являются частью jessie, так что вы можете установить их следующим образом:
Отредактируйте /etc/apt/sources.list
и добавьте строку:
deb http://archive.raspbian.org/raspbian/ stretch main
Бегать apt get update
; это может занять некоторое время.
Тогда попробуй apt install ruby2.3
. Это должно сработать, но в дистрибутиве есть потенциально 2.3 рубина, которые потребуют полного обновления системы, чтобы растянуться. У меня есть один пи, который я сделал это несколько месяцев назад, и это было нормально, но я не использую ruby и использую этот пи только для определенных вещей, поэтому имейте в виду, что полное обновление до тестирования может (но, скорее всего, не будет) привести в осложнениях.
Обновление таким способом может также усложнить использование дистрибутивов - опять же, я не пользователь ruby, поэтому о вероятности этого я не могу больше говорить. Вероятно, установка модулей ruby с использованием собственной системы управления пакетами и не apt
позволит обойти это. Хотя apt может в конечном итоге захотеть установить некоторые из них в любом случае как зависимости, они не должны иметь приоритет при использовании.
Для некоторых вещей, использование gem
вместо этого потребует от вас apt install
-dev
пакетов для вещей, с которыми модули скомпилированы, и может быть небольшое количество тех, которые просто не будут летать.
Debian (и, следовательно, Raspbian) придерживается консервативной политики в отношении управления версиями, что означает, что они предпочитают держаться подальше от передового края в стабильной ветке (в настоящее время, Джесси), но также поддерживают довольно стабильную ветку «нестабильная / тестирующая» (stretch) - или это когда-то, когда это было в игре некоторое время, которое сейчас имеет.
Поэтому я рекомендую пойти на это. Теперь вы знаете о предостережениях, и, конечно, вам все равно следует сохранять резервные копии важных данных, так что, вероятно, риск невелик.
/etc/apt/sources.list
[исправлено выше]. Я не уверен, какова актуальность использования одного против другого (если есть), но sources.list
определенно работает.
Установка Ruby на RPi3 с помощью Raspbian Stretch (9.4)
Есть два способа установить ruby на RPi:
ruby2.3
пакета 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 ниже.
Что такое RVM?
Рубин Менеджер версия ( РВМ ) является инструментом командной строки , которая позволяет легко устанавливать, управлять и работать с несколькими средами рубина из переводчиков на множества драгоценных камней.
Правильный способ установить рубин на вашем RPi должны следовать инструкциям из одного из этих мест:
В любом случае, вас попросят запустить скрипт прямо из вывода ответа 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, кажется довольно сумасшедшим.
sources.list
в/etc/apt/sources.list.d
, простоraspi.list
. Ты имеешь в виду, что мне нужно сделать новый файл?