Antworten:
Es gibt ein Ruby 2.3-Paket in den Raspbian-Repos, aber da apt show ruby
auf einem "Jessie" -System 2.1 angezeigt wird, gehe ich davon aus, dass dies ein "Stretch" -Paket ist - dh ein Teil des aktuellen Test- / instabilen Zweigs.
Allerdings lief ich ldd
auf sie und libruby2.3
und sie allein keine Anforderungen, die nicht Teil von jessie sind, so dass man sie auf diese Weise installieren können:
Bearbeiten /etc/apt/sources.list
und fügen Sie eine Zeile hinzu:
deb http://archive.raspbian.org/raspbian/ stretch main
Ausführen apt get update
; Es kann eine Weile dauern.
Dann versuchen Sie es apt install ruby2.3
. Dies sollte funktionieren, aber es gibt möglicherweise Ruby 2.3-Edelsteine aus der Distribution, für deren Dehnung ein vollständiges Upgrade des Systems erforderlich wäre. Ich habe einen Pi, den ich vor Monaten gemacht habe, und es war in Ordnung, aber ich benutze kein Ruby und benutze diesen Pi nur für bestimmte Dinge. Denken Sie also daran, dass ein vollständiges Upgrade auf das Testen möglicherweise (aber höchstwahrscheinlich nicht) resultiert bei Komplikationen.
Ein Upgrade auf diese Weise kann auch die Verwendung von Distribution Gems komplizierter machen - auch hier bin ich kein Ruby-Benutzer, daher kann ich über die Wahrscheinlichkeit dieses Problems nicht mehr sagen. Wahrscheinlich installieren Ruby-Module mit einem eigenen Paketverwaltungssystem und apt
würden dies nicht umgehen. Obwohl apt möglicherweise ohnehin gelegentlich als Abhängigkeiten installieren möchte, sollten sie bei der Verwendung keinen Vorrang haben.
Für einige Dinge gem
erfordert die Verwendung von stattdessen apt install
-dev
Pakete für Dinge, gegen die die Module kompiliert wurden, und es kann eine kleine Anzahl von solchen geben, die einfach nicht fliegen.
Debian (und damit Raspbian) verfolgt eine konservative Versionierungsrichtlinie, was bedeutet, dass sie es vorziehen, sich von der Blutungskante im stabilen Zweig (derzeit Jessie) fernzuhalten, aber auch einen ziemlich stabilen "instabilen / testenden" Zweig (Stretch) beizubehalten - oder es ist einmal, wenn es einmal eine Weile im Spiel war, was es jetzt hat.
Also meine Empfehlung ist es, es zu versuchen. Sie sind sich jetzt der Vorbehalte bewusst, und natürlich sollten Sie Ihre wichtigen Daten trotzdem sichern, damit wahrscheinlich nicht viel gefährdet ist.
/etc/apt/sources.list
[oben behoben] sein sollen. Ich bin mir nicht sicher, wie wichtig es ist, eines gegen das andere zu verwenden (falls vorhanden), aber es sources.list
funktioniert definitiv.
Ruby auf RPi3 mit Raspbian Stretch installieren (9.4)
Es gibt zwei Möglichkeiten, Ruby auf dem RPi zu installieren:
ruby2.3
APT-Pakets.sudo apt-get install ruby2.3
Dadurch werden auch die zusätzlichen Abhängigkeiten installiert:
libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet
ruby-power-assert ruby-test-unit ruby2.3 rubygems-integration
Bekanntlich halten sich die Raspbian-Distributionsbetreuer jedoch gerne an den Versionsversionen zurück, sodass dieses Paket im Vergleich zu den verfügbaren wahrscheinlich bereits veraltet ist. Verwenden Sie die folgende RVM-Methode, um die neueste (oder sogar Entwickler-) Version zu erhalten.
Was ist RVM?
Der Ruby Version Manager ( RVM ) ist ein Befehlszeilentool, mit dem Sie auf einfache Weise mehrere Ruby-Umgebungen installieren, verwalten und damit arbeiten können, von Dolmetschern bis hin zu Edelsteinsätzen.
Der richtige Weg, um Ruby auf Ihrem RPi zu installieren, besteht darin, den Anweisungen an einem dieser Orte zu folgen:
In beiden Fällen werden Sie aufgefordert, das Skript wie folgt direkt über die Curl- Antwortausgabe auszuführen .
( Verwenden Sie kein Sudo! )
\curl -sSL https://get.rvm.io | bash -s stable --ruby
Dies wird jedoch aus offensichtlichen Sicherheitsgründen im Allgemeinen nicht empfohlen, da Sie keine Ahnung haben, was passiert oder was los ist!
Gehen Sie stattdessen wie folgt vor.
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
...
Leider rvm-installer help
wird keine der nützlichsten versteckten Optionen angezeigt : rvm-installer stable --ruby
.
Wie bereits erwähnt, wurden beim Ausführen des rvm-Installationsprogramms die folgenden Dateien geändert, um einige neue rvm-bezogene Inhalte hinzuzufügen.
~/.profile
~/.mkshrc
~/.zshrc
~/.bash_profile
~/.zlogin
~/.rvm/scripts/rvm
Wenn Ihnen das nicht gefällt, stellen Sie sicher, dass Sie die --ignore-dotfiles
Option an das rvm-Installationsprogramm übergeben . In diesem Fall müssen Sie dies manuell tun:
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
Als nächstes überprüfen wir, welche stabile Ruby-Version tatsächlich empfohlen wird:
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
Sobald dies abgeschlossen ist, kann ich diese Antwort auch vervollständigen ...
Der Punkt hier ist, dass dies rvm
viel benutzerfreundlicher erscheint, sobald die Binärdateien erstellt wurden. Warum diese für das RPi3 noch nicht weit verbreitet sind, scheint ziemlich verrückt.
sources.list
in/etc/apt/sources.list.d
, nur habenraspi.list
. Meinst du, ich muss eine neue Datei erstellen?