Respuestas:
Hay un paquete ruby 2.3 en los repositorios Raspbian, pero dado que apt show ruby
en un sistema "jessie" muestra 2.1, supongo que este es un paquete "stretch", es decir, parte de la rama actual de prueba / inestable.
Sin embargo, me encontré ldd
en él y libruby2.3
y son los únicos que no tienen ningún requisito que no son parte de Jessie, por lo que les podría instalar de esta manera:
Editar /etc/apt/sources.list
y agregar una línea:
deb http://archive.raspbian.org/raspbian/ stretch main
Correr apt get update
; Puede tomar un tiempo.
Entonces inténtalo apt install ruby2.3
. Esto debería funcionar, pero hay posibles gemas de rubí 2.3 de la distribución que requerirían una actualización completa del sistema para estirarse. Tengo un pi que hice esto hace meses y ha estado bien, pero no uso ruby y solo uso ese pi para cosas particulares, así que tenga en cuenta que una actualización completa de las pruebas puede (pero muy probablemente no) en complicaciones
Actualizar de esta manera también puede hacer que el uso de gemas de distribución sea más complicado; una vez más, no soy un usuario de ruby, por lo que no puedo decir nada más sobre la probabilidad de esto. Probablemente, instalar módulos ruby usando su propio sistema de administración de paquetes y no apt
evitaría esto. Aunque apt puede terminar queriendo instalar algunas de vez en cuando como dependencias, no deberían tener prioridad cuando se usan.
Para algunas cosas, usar en su gem
lugar requerirá apt install
-dev
paquetes para las cosas con las que se compilan los módulos, y puede haber una pequeña cantidad de aquellos que simplemente no volarán.
Debian (y, por lo tanto, Raspbian) tiene una política conservadora sobre el control de versiones, lo que significa que prefieren mantenerse alejados del borde sangriento en la rama estable (actualmente, jessie), pero también mantener una rama (estiramiento) "inestable / de prueba" bastante estable - o es una vez que es una vez que ha estado en juego durante un tiempo, que ahora tiene.
Entonces mi recomendación es ir por ello. Ahora está al tanto de las advertencias y, por supuesto, debe mantener sus datos importantes respaldados de todos modos, por lo que probablemente no haya mucho riesgo.
/etc/apt/sources.list
[arreglado arriba]. No estoy seguro de cuál es la relevancia de usar uno frente al otro (si lo hay), pero sources.list
definitivamente funciona.
Instalación de Ruby en RPi3 con Raspbian Stretch (9.4)
Hay dos formas de instalar ruby en el RPi:
ruby2.3
paquete APT.sudo apt-get install ruby2.3
Esto también instalará las dependencias adicionales:
libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet
ruby-power-assert ruby-test-unit ruby2.3 rubygems-integration
Sin embargo, como es bien sabido, a los encargados de la distribución de Raspbian les gusta retrasar las versiones, por lo que es muy probable que este paquete ya esté desactualizado, en comparación con lo que está disponible. Para obtener la última versión (o incluso desarrollador), use el método RVM a continuación.
¿Qué es RVM?
El Administrador de versiones Rubí ( RVM ) es una herramienta de línea de comandos que le permite instalar, administrar, y el trabajo con múltiples entornos de rubí de intérpretes a conjuntos de joyas.
La forma correcta de instalar Ruby en su RPi es seguir las instrucciones de una de estas ubicaciones:
De cualquier manera, se le pide que ejecute el script directamente desde la salida de respuesta de curl , de esta manera.
( ¡No uses sudo! )
\curl -sSL https://get.rvm.io | bash -s stable --ruby
Sin embargo, esto no se recomienda generalmente, por razones obvias de seguridad, ya que no tiene idea de lo que está sucediendo o sucediendo.
Entonces, haga lo siguiente.
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
...
Desafortunadamente rvm-installer help
no muestra uno de los más útiles oculto opción: rvm-installer stable --ruby
.
Además, como se señaló, cuando ejecutó el instalador rvm , los siguientes archivos se modificaron para agregar algunas cosas nuevas relacionadas con rvm.
~/.profile
~/.mkshrc
~/.zshrc
~/.bash_profile
~/.zlogin
~/.rvm/scripts/rvm
Si no le gusta esto, asegúrese de pasar la --ignore-dotfiles
opción al instalador rvm . Si lo hace, deberá hacer esto manualmente:
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
A continuación, verificamos qué versión estable de Ruby se recomienda realmente:
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
Una vez que esto haya terminado, también puedo completar esta respuesta ...
El punto aquí es que rvm
parece mucho más fácil de usar, una vez que se han creado los binarios. Por qué estos no están ampliamente disponibles para el RPi3, parecen bastante locos.
sources.list
en/etc/apt/sources.list.d
, solo tengoraspi.list
. ¿Quiere decir que necesito hacer un nuevo archivo?