Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Fix des Problems bei der Installation von Ruby 3.4.3 (und nicht nur) über RVM auf macOS (Apple Silicon)

Beitrags-Cover: Fix des Problems bei der Installation von Ruby 3.4.3 (und nicht nur) über RVM auf macOS (Apple Silicon)
InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Beim Installieren von Ruby 3.4.3 über RVM auf macOS (ARM / Apple Silicon) kann es zu einem Fehler kommen:
rvm install "ruby-3.4.3"
ruby-3.4.3 - #removing src/ruby-3.4.3 - bitte warten
Suche nach binären Rubys, das kann einige Zeit in Anspruch nehmen.
Keine binären Rubys verfügbar für: osx/26.2/arm64/ruby-3.4.3.
Fortfahren mit der Kompilierung. Bitte lesen Sie 'rvm help mount', um mehr Informationen zu binären Rubys zu erhalten.
Überprüfen der Anforderungen für osx.
Installieren der Anforderungen für osx.
System wird aktualisiert - bitte warten
Installieren der erforderlichen Pakete: pkg-config - bitte warten
Das Zertifikatsbündel '/opt/homebrew/etc/[email protected]/cert.pem' ist bereits auf dem neuesten Stand.
Installation der Anforderungen erfolgreich.
Installiere Ruby aus dem Quellcode nach: /Users/username/.rvm/rubies/ruby-3.4.3, das kann je nach CPU(s) eine Weile dauern...
ruby-3.4.3 - #downloading ruby-3.4.3, das kann je nach Verbindung eine Weile dauern...
ruby-3.4.3 - #extracting ruby-3.4.3 nach /Users/username/.rvm/src/ruby-3.4.3 - bitte warten
ruby-3.4.3 - #configuring - bitte warten
ruby-3.4.3 - #post-configuration - bitte warten
ruby-3.4.3 - #compiling - bitte warten
Fehler beim Ausführen von '__rvm_make -j10',
bitte lesen Sie /Users/username/.rvm/log/1767089315_ruby-3.4.3/make.log
Es gab einen Fehler beim Ausführen von make. Installation wird gestoppt.
Die Logs von make sehen so aus:
+__rvm_make:0> make -j10
file2lastrev.rb: scheint nicht unter einem vcs zu sein: .
        BASERUBY = /Users/username/.rvm/rubies/ruby-3.4.4/bin/ruby --disable=gems
        CC = gcc
        LD = ld
        LDSHARED = gcc -dynamiclib
        CFLAGS = -O3 -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/libksba/include -I/opt/homebrew/opt/readli$
        XCFLAGS = -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include$
        CPPFLAGS = -I/opt/homebrew/opt/node@22/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D$
        DLDFLAGS = -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/libksba/lib -L/opt/homebrew/opt/readline/lib -L/$
        SOLIBS = -ldl -lobjc -lpthread
        LANG = C.UTF-8
        LC_ALL =
        LC_CTYPE = UTF-8
        MFLAGS = - --jobserver-fds=3,4 -j
        RUSTC = no
        YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C over$
Apple clang version 17.0.0 (clang-1700.6.3.2)
Target: arm64-apple-darwin25.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
compiling ./main.c
compiling dmydln.c
compiling miniinit.c
translating probes probes.d
RVM findet keinen fertigen binären Build für diese Version des Betriebssystems und versucht, Ruby aus dem Quellcode zu kompilieren, aber die Kompilierung schlägt fehl.

Grund

Ruby 3.4.x benötigt OpenSSL 3, aber standardmäßig RVM:
  • entweder zieht OpenSSL 1.1 nach
  • oder übergibt den Pfad zu OpenSSL überhaupt nicht
Deshalb schlägt make mit einem Fehler fehl.

Lösung

Es ist notwendig, den Pfad zu OpenSSL 3, der über Homebrew installiert wurde, ausdrücklich anzugeben.
Stellen Sie sicher, dass OpenSSL 3 installiert ist:
brew install openssl@3
Installieren Sie Ruby mit dem expliziten Parameter:
rvm install ruby-3.4.3 --with-openssl-dir=$(brew --prefix)/opt/openssl@3
Danach wird Ruby erfolgreich:
  • kompiliert
  • installiert
  • gemsets erstellt
  • für die Verwendung verfügbar

Wissenswertes

  • Die Meldung No binary rubies available - ist kein Fehler, sondern bedeutet nur, dass RVM in den Modus zur Kompilierung aus dem Quellcode gewechselt ist
  • Ruby 3.4.x auf macOS ARM benötigt derzeit häufig manuelle Konfiguration
  • Ein ähnliches Problem kann auch bei anderen Versionsmanagern auftreten
Wenn Ruby 3.4.x über RVM auf macOS nicht installiert werden kann - hilft fast immer die explizite Anbindung von openssl@3.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

Was ist Middleware in Ruby on Rails und wann wird sie verwendet?
04. Nov, 10:39 Uhr

Was ist Middleware in Ruby on Rails und wann wird sie verwendet?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist der Vanilla Rails-Ansatz?
14. Nov, 16:48 Uhr

Was ist der Vanilla Rails-Ansatz?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist Elasticsearch und wie funktioniert es?
22. Nov, 12:35 Uhr

Was ist Elasticsearch und wie funktioniert es?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist eine Zeitreihen-Datenbank?
22. Nov, 12:42 Uhr

Was ist eine Zeitreihen-Datenbank?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
22. Nov, 12:49 Uhr

Was ist VACUUM in PostgreSQL?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist ein B-Baum (ausgeglichener Baum)?
22. Nov, 12:58 Uhr

Was ist ein B-Baum (ausgeglichener Baum)?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Thundering Herd Problem: was ist das und warum bricht es die Produktion
15. Jan, 10:14 Uhr

Thundering Herd Problem: was ist das und warum bricht es die Produktion

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist Exponential Backoff und Random Jitter?
15. Jan, 15:24 Uhr

Was ist Exponential Backoff und Random Jitter?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Anbindung des Elasticsearch-Dienstes an die Rails-Anwendung (Coolify in der Cloud, Server bei Hetzner).
15. Feb, 13:45 Uhr

Anbindung des Elasticsearch-Dienstes an die Rails-Anwendung (Coolify in der Cloud, Server bei Hetzner).

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
„Kein Speicherplatz mehr auf dem Gerät“ - wenn Docker die ganze Festplatte aufgefressen hat
15. Feb, 19:57 Uhr

„Kein Speicherplatz mehr auf dem Gerät“ - wenn Docker die ganze Festplatte aufgefressen hat

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
15. Feb, 20:03 Uhr

Sidekiq 7.3.x und connection_pool 3.0 - Inkompatibilität, die die Worker bricht

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska