Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej

Fix problem with installing Ruby 3.4.3 (and not only) via RVM on macOS (Apple Silicon)

Okładka posta: Fix problem with installing Ruby 3.4.3 (and not only) via RVM on macOS (Apple Silicon)
Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
Podczas instalacji Ruby 3.4.3 przez RVM na macOS (ARM / Apple Silicon) można napotkać błąd:
rvm install "ruby-3.4.3"
ruby-3.4.3 - #usuwanie src/ruby-3.4.3 - proszę czekać
Wyszukiwanie binarnych wersji Rubiego, to może zająć trochę czasu.
Brak dostępnych binarnych wersji Rubiego dla: osx/26.2/arm64/ruby-3.4.3.
Kontynuowanie kompilacji. Proszę przeczytać 'rvm help mount', aby uzyskać więcej informacji o binarnych wersjach Rubiego.
Sprawdzanie wymagań dla osx.
Instalowanie wymagań dla osx.
Aktualizacja systemu - proszę czekać
Instalowanie wymaganych pakietów: pkg-config - proszę czekać
Pakiet certyfikatów '/opt/homebrew/etc/[email protected]/cert.pem' jest już aktualny.
Instalacja wymagań zakończona sukcesem.
Instalowanie Rubiego z źródła do: /Users/username/.rvm/rubies/ruby-3.4.3, to może zająć chwilę w zależności od twojego cpu(s)...
ruby-3.4.3 - #pobieranie ruby-3.4.3, to może zająć chwilę w zależności od twojego połączenia...
ruby-3.4.3 - #rozpakowywanie ruby-3.4.3 do /Users/username/.rvm/src/ruby-3.4.3 - proszę czekać
ruby-3.4.3 - #konfigurowanie - proszę czekać
ruby-3.4.3 - #po-konfiguracji - proszę czekać
ruby-3.4.3 - #kompilowanie - proszę czekać
Błąd podczas uruchamiania '__rvm_make -j10',
proszę przeczytać /Users/username/.rvm/log/1767089315_ruby-3.4.3/make.log
Wystąpił błąd podczas uruchamiania make. Zatrzymywanie instalacji.
Logi z make będą wyglądać tak:
+__rvm_make:0> make -j10
file2lastrev.rb: nie wydaje się być pod vcs: .
        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
Model wątków: posix
Zainstalowany katalog: /Library/Developer/CommandLineTools/usr/bin
kompilowanie ./main.c
kompilowanie dmydln.c
kompilowanie miniinit.c
tłumaczenie probes probes.d
RVM nie znajduje gotowej binarnej wersji dla tej wersji systemu operacyjnego i próbuje skompilować Ruby ze źródła, ale kompilacja kończy się niepowodzeniem.

Przyczyna

Ruby 3.4.x wymaga OpenSSL 3, ale domyślnie RVM:
  • albo pobiera OpenSSL 1.1
  • albo w ogóle nie przekazuje ścieżki do OpenSSL
Z tego powodu make kończy się błędem.

Rozwiązanie

Trzeba jawnie wskazać ścieżkę do OpenSSL 3, zainstalowanego przez Homebrew.
Upewnij się, że OpenSSL 3 jest zainstalowany:
brew install openssl@3
Zainstaluj Ruby z jawnym parametrem:
rvm install ruby-3.4.3 --with-openssl-dir=$(brew --prefix)/opt/openssl@3
Po tym Ruby pomyślnie:
  • skomplikuje się
  • zainstaluje
  • utworzy gemsety
  • będzie dostępny do użycia 

Warto wiedzieć

  • Komunikat No binary rubies available - nie jest błędem, a jedynie oznacza, że RVM przeszedł w tryb kompilacji ze źródła
  • Ruby 3.4.x na macOS ARM obecnie często wymaga ręcznej konfiguracji
  • Podobny problem może wystąpić również z innymi menedżerami wersji
Jeśli Ruby 3.4.x nie instaluje się przez RVM na macOS - prawie zawsze pomaga jawne połączenie openssl@3.

Ten post nie ma jeszcze żadnych dodatków od autora.

Czym jest Middleware w Ruby on Rails i kiedy jest używane
4 lis 10:39

Czym jest Middleware w Ruby on Rails i kiedy jest używane

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Czym jest podejście Vanilla Rails?
14 lis 16:48

Czym jest podejście Vanilla Rails?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Czym jest Elasticsearch i jak działa?
22 lis 12:35

Czym jest Elasticsearch i jak działa?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Czym jest baza danych typu time-series?
22 lis 12:42

Czym jest baza danych typu time-series?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
22 lis 12:49

Co to jest VACUUM w PostgreSQL?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Czym jest B-Tree (drzewo zrównoważone)?
22 lis 12:58

Czym jest B-Tree (drzewo zrównoważone)?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Problem Grzmiącego Stada: co to jest i dlaczego łamie produkcję
15 sty 10:14

Problem Grzmiącego Stada: co to jest i dlaczego łamie produkcję

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Czym jest Exponential Backoff i Random Jitter?
15 sty 15:24

Czym jest Exponential Backoff i Random Jitter?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Podłączenie usługi Elasticsearch do aplikacji Rails (Coolify w chmurze, serwer na Hetzner).
15 lut 13:45

Podłączenie usługi Elasticsearch do aplikacji Rails (Coolify w chmurze, serwer na Hetzner).

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
„Brak miejsca na urządzeniu” - kiedy Docker zjadł cały dysk
15 lut 19:57

„Brak miejsca na urządzeniu” - kiedy Docker zjadł cały dysk

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
15 lut 20:03

Sidekiq 7.3.x i connection_pool 3.0 - niekompatybilność, która łamie pracowników

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