Personen, die Ruby normalerweise nicht verwenden, erstellen eine Ruby-Umgebung
Inhalt
Schreiben Sie den Prozess zum Erstellen einer Ruby-Umgebung für Benutzer, die Ruby normalerweise nicht verwenden. Ich habe nicht vor, ein Ruby-Programm zu schreiben, aber ich musste eine Ruby-Umgebung erstellen, um eine von Ruby erstellte Anwendung verwenden zu können. Aber es ist ein komischer Hit, also werde ich ihn selbst schreiben. Ich bin weder ein Experte noch irgendetwas, daher garantiere ich nicht die Richtigkeit meiner Texte.
Voraussetzungen, dass Benutzer von Ruby überhaupt nicht schreiben
Alle echten Experten wissen es wahrscheinlich, aber es ist traurig, dass sie bei der Suche nicht getroffen haben.
- Wenn Instanz A der im Betriebssystem enthaltenen Programmiersprache vom Typ Interpreter und Instanz B, die für die Entwicklung verwendet wird, dieselbe A = B sind, wird durch Anpassen von B das Betriebssystem einschließlich A beschädigt. Bereiten Sie B also separat vor, sodass A ≠ B. In der heutigen Zeit ist es üblich, dies zu tun.
- macOS (und viele andere Unix-ähnliche Systeme) enthält Ruby.
- rbenv ist vorhanden, um die Voraussetzung 1 für Ruby zu implementieren.
- Das Ruby-Paket (ein in Ruby geschriebenes Komponentenprogramm) wird als Juwel bezeichnet.
- Der Name und der Befehlsname des Programms, das Edelsteine verarbeitet, lautet "gem".
- Einige Edelsteine können so wie sie sind als Befehle mit dem Edelsteinnamen aufgerufen werden.
- Das Programm "gem" ist (wahrscheinlich) als Paketverwaltungssoftware (vermutlich) unzureichend.
- Es gibt einen Programm-Bundler, der das Programm "gem" ergänzt und als Paketverwaltungssoftware dient.
- Bundler ist ein Juwel namens "Bundle" und kann aufgerufen werden.
- Führen Sie den Befehl
bundle
aus und befolgen Sie die Anweisungen in der Textdatei Gemfile
im aktuellen Verzeichnis, um die verschiedenen Gems zu installieren und die Ruby-Umgebung zu konfigurieren.
- Ruby-Anwendungen werden (einige sind) als einzelnes Juwel bereitgestellt.
- Erweiterte Ruby-Anwendungen bestehen aus der Integration mehrerer Ruby-Anwendungen.
- Wenn Sie es mit fortgeschrittenen Ruby-Anwendungen ernst meinen, ist es selbstverständlich, Bundler zu verwenden.
Dinge die zu tun sind
Angesichts der Voraussetzungen, um die vom Edelstein bereitgestellte Ruby-Anwendung ernst zu nehmen,
Es stellt sich heraus, dass es notwendig ist, zu verwenden. Da ich Fish Shell verwende, enthält es Teile, die sich von Bash- und Zsh-Benutzern unterscheiden.
- Installieren Sie rbenv über Homebrew und schreiben Sie den mysteriösen Konfigurationsbefehl in die Konfigurationsdatei von Fish, wie von rbenv angewiesen, an Fish zu arbeiten.
- Installieren Sie die neueste Ruby-Instanz.
- Geben Sie die installierte Ruby-Instanz als die von der Shell aufgerufene Ruby-Instanz an.
- Installieren Sie den Bundler auf Ihrer Ruby-Instanz.
- Führen Sie einen mysteriösen Befehl aus, der nur funktioniert, wenn Sie ihn ausführen.
#! /usr/bin/env fish
brew install rbenv
echo "status --is-interactive; and source (rbenv init -|psub)" >> $HOME/.config/fish/config.fish
rbenv install 2.7.2
rbenv global 2.7.2
gem install bundler
rbenv rehash
Ich brauche rbenv rehash
, aber ich verstehe nicht warum.
Installieren Sie die Ruby-Anwendung
- Ich möchte das Asciidoctor-Diagramm verwenden, mit dem sich Zahlen leicht in Asciidoctor einfügen lassen.
- Ich möchte nur, dass diese Anwendung in meinem gesamten Benutzerbereich funktioniert. Daher erstelle ich eine Datei "Gemfile" in meinem Home-Verzeichnis, schreibe dort die Gem-Einstellungen und führe den Bundler aus.
- Führen Sie einen mysteriösen Befehl aus, der nur funktioniert, wenn Sie ihn ausführen.
#! /usr/bin/env fish
echo "\
source 'https://rubygems.org'
gem 'asciidoctor'
gem 'asciidoctor-diagram'
" > $HOME/Gemfile
bundle
rbenv rehash
Ich brauche auch rbenv rehash
, aber ich verstehe nicht warum.
Nachwort
Ich habe gerade über den Prozess geschrieben, mit dem die Anwendung funktioniert hat, und warte daher auf Ergänzungen, Korrekturen und Kritik von denjenigen, die damit vertraut sind.