← strona głównaProgramowanie (Програмування)

[Fix] extconf.rb nie powiódł się podczas instalacji biblioteki Ruby Gosu

[Fix] extconf.rb nie powiódł się podczas instalacji biblioteki Ruby Gosu. Naprawiamy zależności biblioteki Gosu podczas instalacji.

Ta treść została automatycznie przetłumaczona z ukraińskiego.
Libra gosu — to popularna biblioteka dla Ruby, która zapewnia prosty i potężny interfejs do tworzenia gier 2D. Zawiera funkcje do pracy z grafiką, dźwiękiem i wejściem (sterowaniem).
Podczas próby zainstalowania biblioteki Gosu, otrzymałem następujący błąd:
~ gem install gosu
Budowanie rozszerzeń natywnych. To może zająć trochę czasu...
ERROR:  Błąd podczas instalacji gosu:
ERROR: Nie udało się zbudować natywnego rozszerzenia gemu.

    bieżący katalog: /Users/user/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/gosu-1.4.6/ext/gosu
/Users/user/.rbenv/versions/3.2.1/bin/ruby extconf.rb
Gem Gosu wymaga zainstalowania niektórych bibliotek w systemie.
Zobacz następującą stronę, aby uzyskać listę:
https://github.com/gosu/gosu/wiki/Getting-Started-on-OS-X
*** extconf.rb nie powiodło się ***
Nie można utworzyć pliku Makefile z jakiegoś powodu, prawdopodobnie brak niezbędnych
bibliotek i/lub nagłówków. Sprawdź plik mkmf.log, aby uzyskać więcej szczegółów. Możesz
potrzebować opcji konfiguracyjnych.

Podane opcje konfiguracyjne:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/user/.rbenv/versions/3.2.1/bin/$(RUBY_BASE_NAME)
extconf.rb:71:in ``': Nie ma takiego pliku ani katalogu - sdl2-config (Errno::ENOENT)
z extconf.rb:71:in `<main>'

extconf nie powiodło się, kod wyjścia 1

Pliki gemów pozostaną zainstalowane w /Users/user/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/gosu-1.4.6 do inspekcji.
Wyniki zapisano w /Users/nikita/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/extensions/x86_64-darwin-23/3.2.0/gosu-1.4.6/gem_make.out
Maszyna - Mac z M1, ale terminal uruchomiony pod Rosseta.
Sprawdzamy:
~ arch
i386
Brew już zainstalowany, więc trzeba zainstalować biblioteki, które są potrzebne Gosu, a mianowicie:
brew install sdl2
brew install sdl2_image
brew install sdl2_mixer
brew install sdl2_ttf
brew install libogg
brew install libvorbis
Po tym gosu i gosu-examples instalują się bez problemów:
~ gem install gosu 
Budowanie rozszerzeń natywnych. To może zająć trochę czasu...
Pomyślnie zainstalowano gosu-1.4.6
Analizowanie dokumentacji dla gosu-1.4.6
Instalowanie dokumentacji ri dla gosu-1.4.6
Zakończono instalację dokumentacji dla gosu po 0 sekundach
1 gem zainstalowany
~ gem install gosu-examples

Pomyślnie zainstalowano gosu-examples-1.0.7
Analizowanie dokumentacji dla gosu-examples-1.0.7
Instalowanie dokumentacji ri dla gosu-examples-1.0.7
Zakończono instalację dokumentacji dla gosu-examples po 0 sekundach
1 gem zainstalowany
Uruchamiamy gosu-examples, aby zobaczyć okno z przykładami gier.
~ gosu-examples
*** Nie można załadować chipmunk_and_rmagick.rb:
nie można załadować takiego pliku -- chipmunk

*** Nie można załadować chipmunk_integration.rb:
nie można załadować takiego pliku -- chipmunk

*** Nie można załadować opengl_integration.rb:
nie można załadować takiego pliku -- opengl

*** Nie można załadować rmagick_integration.rb:
nie można załadować takiego pliku -- rmagick
gosu-examples
gosu-examples
Oto te ostrzeżenia w terminalu (cannot load such file), które naprawię później (jeśli będzie to konieczne, oczywiście).

🔥 Więcej postów

Wszystkie wpisy
Jak zrobić pusty commit w gicie?
Programowanie (Програмування)28 cze '24 08:33

Jak zrobić pusty commit w gicie?

Jak zrobić pusty git commit? Robimy pusty git commit. Po co? Kto wie, każdy ma swoje cele. W moim...

Co oznacza .map(&:name) w Ruby?
Programowanie (Програмування)28 lip '24 11:18

Co oznacza .map(&:name) w Ruby?

Co oznacza .map(&:name) w Ruby? Przykłady użycia skrótu wywołania map.