Ruby 3.0.0 Preview 1 wurde veröffentlicht. https://www.ruby-lang.org/en/news/2020/09/25/ruby-3-0-0-preview1-released/
Sie können das Typsystem (Ist es in Ordnung, es aufzurufen?), Ractor, das parallele Programmierung unterstützt, und Superfunktionen ausprobieren.
Unter macOS installieren viele Leute Ruby mit Homebrew mit zwei Paketen, rbenv und ruby-build. Die Leser dieses Artikels denken daran.
Dieses Mal wurde 3.0.0 Preview 1 veröffentlicht und Ruby-Build wurde mit Eile [^ sok] aktualisiert.
[^ sok]: Zeitverzögerung ca. 1 Tag?
brew update
brew upgrade ruby-build
rbenv install 3.0.0-preview1
Wenn ja, OK.
Der Ruby-Build von Homebrew wird jedoch nicht immer aktualisiert, sobald der entsprechende Ruby veröffentlicht wird. Diesmal war es ein sehr dankbares Timing, aber im Fall von 3.0.0-dev war es schwierig einzutreten, selbst wenn es veröffentlicht wurde, und am Ende wurde es gleichzeitig mit 3.0.0-Vorschau1 eingegeben.
In einem solchen Fall sagte mir Slacks Ruby-JP, dass es eine Möglichkeit gibt, die Verwendung von Homebrews Ruby-Build-Paket zu vermeiden.
Ich habe es versucht, also schreibe ich, wie es geht.
Erstens sind derzeit rbenv und ruby-build in Homebrew enthalten. Deinstallieren Sie daher ruby-build. Aber einfach
brew uninstall ruby-build
Wenn Sie das tun
Error: Refusing to uninstall /usr/local/Cellar/ruby-build/20200926
because it is required by rbenv, which is currently installed.
You can override this and force removal with:
brew uninstall --ignore-dependencies ruby-build
Ich habe einen Fehler erhalten und konnte nicht ausführen. (Der Grund, warum der Typ, der versucht hat, es zu löschen, der neueste als "20200926" ist, ist, dass er dies nach "Brew Upgrade" getan hat)
Also, wie in der obigen Nachricht geschrieben
brew uninstall --ignore-dependencies ruby-build
Ich habe es getan und deinstalliert.
Klonen Sie dann Ruby-Build aus dem GitHub-Repository. Wenn Ruby-Build mit Rbenv kombiniert wird (es scheint, dass es alleine verwendet werden kann), muss es im Plug-In-Speicher abgelegt werden, damit es als Plug-In von Rbenv funktioniert.
Normalerweise befindet es sich im Home-Verzeichnis ".rbenv / plugins" (nicht an diesem Speicherort, wenn Sie Ruby-Build in Homebrew einfügen). Mit anderen Worten, es ist "~ / .rbenv / plugins".
Es kann jedoch Fälle geben, die nicht typisch sind, daher möchte ich den Standort sicher kennen.
rbenv root
Zeigt das übergeordnete Verzeichnis des Plugins-Verzeichnisses an, das in den folgenden Schritten verwendet wird.
Erstens existiert das Verzeichnis "Plugins" nicht immer
mkdir -p "$(rbenv root)"/plugins
So erstellen Sie ein Verzeichnis. Es spielt keine Rolle, ob es bereits existiert.
Und
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Dadurch wird der neueste Ruby-Build an den entsprechenden Speicherort geklont.
In diesem Staat
rbenv install 3.0.0-preview1
Dann wird 3.0.0 Preview1 installiert! Die Erklärung war lang, aber was Sie tun müssen, ist einfach. Ich habe nur an vier Stellen kopiert und eingefügt.
Wenn in Zukunft ein neuer Ruby veröffentlicht wird
git -C "$(rbenv root)"/plugins/ruby-build pull
Sie können es installieren, indem Sie ruby-build auf die neueste Version aktualisieren.
Dies wird in [README] von Ruby-Build (https://github.com/rbenv/ruby-build/blob/master/README.md) ordnungsgemäß beschrieben.
In einer Umgebung, in der rbenv und ruby-build mit Homebrew installiert sind, wird hier der gesamte Vorgang von der Deinstallation der Homebrew-Version von ruby-build bis zur Installation von Ruby 3.0.0-preview1 zum einfachen Kopieren zusammengefasst. Ich tat.
Deinstallieren Sie die Homebrew-Version von Ruby-Build:
brew uninstall --ignore-dependencies ruby-build
Ruby-Build von GitHub klonen:
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
Installieren Sie Ruby 3.0.0-Vorschau:
rbenv install 3.0.0-preview1
Aktualisierter geklonter Ruby-Build:
git -C "$(rbenv root)"/plugins/ruby-build pull
Eine neue Ära von Ruby beginnt. Lass uns die Tür öffnen!
e? "Wir sind Windows"?
Recommended Posts