Mam problemy podczas próby zainstalowania mysql2
klejnotu w Railsach. Gdy próbuję zainstalować, uruchamiając bundle install
lub wyświetla gem install mysql2
mi następujący błąd:
Błąd podczas instalacji mysql2: ERROR: Nie udało się zbudować rozszerzenia natywnego gem.
Jak mogę to naprawić i pomyślnie zainstalować mysql2
?
Odpowiedzi:
W Ubuntu / Debian i innych dystrybucjach korzystających z aptitude:
Pakiet
libmysql-ruby
został wycofany i zastąpiony przezruby-mysql
. Tutaj znalazłem rozwiązanie.Jeśli powyższe polecenie nie działa, ponieważ
libmysql-ruby
nie można go znaleźć, wystarczą następujące czynności:W Red Hat / CentOS i innych dystrybucjach używających yum:
W systemie Mac OS X z Homebrew :
źródło
libmysqlclient-dev
była wystarczająca.Jestem na komputerze Mac i używam homebrew do instalowania programów typu open source. Musiałem zainstalować narzędzia Mac Dev, aby zainstalować Homebrew, ale potem było to proste:
zainstalować mysql. Od tamtej pory nie miałem problemu z klejnotem MySQL.
źródło
brew link mysql --force
.oto rozwiązanie dla użytkowników systemu Windows , mam nadzieję, że to pomoże!
Używanie MySQL z Rails 3 w systemie Windows
Zainstaluj railsinstaller -> www.railsinstaller.org (zainstalowałem go na c: \ Rails)
Zainstaluj MySQL (użyłem MySQL 5.5) -> dev.mysql.com/downloads/installer/
Będziesz mógł teraz korzystać z aplikacji Rails z MySQL, jeśli nie masz pewności, jak utworzyć aplikację Rails 3 z MySQL odczytywanym ...
---
Uruchom aplikację Rails 3 z MySQL --- Otwórz wiersz polecenia (nie Git Bash) -> start / cmd
Przejdź do folderu (c: \ Sites)
Utwórz nową aplikację Rails
Usuń plik c: \ Sites \ world \ public \ index.html
Edytuj plik c: \ Sites \ world \ config \ trasy.rb
dodaj ten wiersz -> root: to => 'cities # index'
Otwórz wiersz polecenia (generuj widoki i kontrolery)
Edytuj plik c: \ Sites \ world \ app \ models \ city.rb, aby wyglądał tak:
Edytuj plik c: \ Sites \ world \ config \ database.yml, aby wyglądał tak:
dodaj do pliku gem
Otwórz wiersz polecenia Windows cmd, a nie Git Bash (uruchom aplikację!)
Przejdź do folderu aplikacji (c: \ Sites \ world)
Otwórz swoją przeglądarkę tutaj -> http: // localhost: 3000
--- Pobierz aplikację Rails 3 z MySQL ---
źródło
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
bez cudzysłowów moje `` zostały usunięte. DziękujęMam kilka komputerów, 32- i 64-bitowy procesor, działają na systemie Ubuntu Linux, Maverick (10.10).
Miałem ten sam problem i dla mnie
sudo apt-get install libmysql-ruby libmysqlclient-dev
wykonałem pracę !!!źródło
W systemie MacOS Mojave :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
źródło
Kolejny sposób dla użytkowników MacOS
Jeśli użyłeś „naparu” do zainstalowania mysql:
xxx = wersja klejnotu mysql, który chcesz zainstalować
yyy = wersja zainstalowanego mysql,
ls /usr/local/Cellar/mysql
aby go znaleźć.źródło
Próbowałeś użyć
określić lokalizację katalogu bazy, a także ścieżkę do bibliotek MySQL niezbędnych do ukończenia instalacji gem?
Źródła: MySQL Gem Install ERROR: Nie udało się zbudować natywnego rozszerzenia Gem Fora MySQL :: Ruby :: Potrzebna pomoc przy instalacji wiązania MySQL dla Ruby
źródło
which mysql
a następnie znajdująclib
stamtąd katalog.Jeśli używasz mniam, spróbuj:
źródło
To rozwiązało mój problem raz w systemie Windows:
źródło
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Jeśli nadal masz problemy…
Spróbuj zainstalować
źródło
Miałem ten problem w systemie Windows 7. Jest to najwyraźniej problem niekompatybilności, a rozwiązanie jest następujące:
Pobierz
libmySQL.dll
plik ze starszego instalatora InstantRails. Jest dostępny z repozytorium InstantRails GitHub .Następnie skopiuj ten plik do folderu Ruby / bin.
Teraz możesz już iść;)
źródło
bundle install
.Mam też ten błąd. Rozwiązane przez zainstalowanie pakietów programistycznych. Używam arch i było to:
który zainstalował:
ale myślę, że tak naprawdę potrzebował make i gcc. Wyjście błędu powiedział (między innymi na moim komputerze):
„Najpierw musisz zainstalować narzędzia programistyczne.”
To była oczywista decyzja i pomogła.
źródło
Musisz zainstalować niektóre zależności
źródło
Na Debian Stretch pakiet, który działał dla mnie to default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
źródło
W moim przypadku pomogło to:
Następnie:
Wynik:
Zobacz ten post (OSTRZEŻENIE: język japoński w środku).
źródło
Na Ubuntu (18.04)
udało mi się rozwiązać ten problem, wykonując następujące czynności:
odniesienie
źródło
Napotkałem ten błąd na moim komputerze Mac i stwierdziłem, że muszę zaktualizować wersję mysql 32bit do mysql 64 bit, aby błąd zniknął. Pracowałem na OSX 10.6 na komputerze Mac Mac Pro z Ruby 1.9.2 i Rails 3.0.0
Musiałem także zainstalować xcode, aby uzyskać narzędzia uniksowe, takie jak „make”, które są wymagane do skompilowania klejnotu.
kiedy to zrobiłem, byłem w stanie uruchomić gem install mysql i gem install mysql2 bez błędu.
źródło
Dla użytkownika systemu Windows: ustawiasz bibliotekę lib i dołączasz ścieżkę do mysql, na przykład, jeśli używasz xampp, możesz to zrobić tak:
źródło
Rozwiązanie działa tylko w systemie Mac OS X
Jeśli zainstalowałeś MySQL z homebrew, działało dla mnie odinstalowanie MySQL i instalacja MySQL Community Edition za pośrednictwem strony MySQL ( https://www.mysql.com/ ).
Po zainstalowaniu wystarczy ponownie wprowadzić polecenie
gem install mysql2
lub, jeśli to koniecznesudo gem install mysql2
, jeśli otrzymujesz problemy z odmową uprawnień.źródło
Klejnot zbudowałem w systemie Mac OS X 10.6.6 przez 1) Zapewnienie zainstalowania pakietu narzędzi programisty 2) Pobieranie bieżącego pakietu MySQL (w moim przypadku 5.5.8) ze źródła 3) Instalowanie narzędzia cmake z cmake.org 4 ) Postępując zgodnie z instrukcjami w sekcji 2.11 INSTALACJI-ŹRÓDŁA z plików dystrybucyjnych mysql 5)
sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
Gem został pomyślnie zbudowany, ale w dokumentacji występują dwa błędy, na które narzekają rdoc i ri. Ale teraz, gdy próbuję wymagać 'mysql2', dostajęMiałem nadzieję, że pojawi się błąd polegający na tym, że nie można znaleźć libmysqlclient.16.dylib, ponieważ wymyśliliśmy to w innym poście (wyszukaj nazwę_instalacji_tool).
Mój $ PATH ma w sobie / usr / local / mysql (tam, gdzie znajdują się moje pliki źródłowe i wbudowane), więc jestem trochę zakłopotany. Jeśli ktoś ma jakieś myśli, sprawdzę to po kilku godzinach snu.
źródło
Jeśli nadal pojawia się błąd, wykonaj kroki instalacji klejnotu mysql2 na Railsach 3 na -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
gdzie większość użytkowników mogła zainstalować klejnot mysql2.
źródło
Po rozwiązaniu problemów z mysql-dev może być konieczne usunięcie złej instalacji mysql2. Przyjrzyj się uważnie komunikatom po instalacji pakietu $. Może być konieczne
Spowoduje to usunięcie złej instalacji mysql2, dzięki czemu końcowa instalacja pakietu $ może stworzyć dobrą.
źródło
pobierz odpowiednią wersję mysqllib.dll, a następnie skopiuj ją do ruby bin naprawdę działa dla mnie. Kliknij ten link, aby odtworzyć gem mysql2 skompilowany dla niewłaściwej biblioteki klienta mysql
źródło
Masz „Musisz najpierw zainstalować narzędzia programistyczne”. błąd podczas próby zainstalowania klejnotu mysql2 po aktualizacji do Mac OS X Mountain Lion . Najwyraźniej ta aktualizacja usuwa kompilatory wiersza poleceń.
Naprawić:
źródło
Ten problem występuje, ponieważ nie zainstalowałeś MySql. Przed instalacją klejnotu mysql2. Zainstaluj MySQL. Po tym klejnot mysql2 zostanie zainstalowany.
źródło
Chciałem tylko dodać tę odpowiedź specjalnie dla użytkowników komputerów Mac .
Mój serwer działał idealnie dobrze, dopóki nie zaktualizowałem xcode. Podczas uruchamiania mojego serwera Railsowego błąd był wyświetlany w ten sposób
I pojawiła się sugestia, aby zainstalować klejnot mysql2 na końcu komunikatu o błędzie. Więc kiedy próbowałem go zainstalować, otrzymałem błąd, jak wspomniano powyżej w tym pytaniu. Wystąpił błąd:
Tak jak zasugerowałem w tym poście, wypróbowałem „brew install mysql” i przestałem mówić, że wersja mysql jest już zainstalowana. Ale było tam ostrzeżenie
Potem spróbowałem
sudo xcodebuild -license
i na końcu wpisz „zgadzam się”. Musisz być rootem, aby wyrazić zgodę na licencję.Następnie ponownie spróbowałem zainstalować pakiet, a następnie wszystko działa normalnie. [Nawet z powodu tej aktualizacji kodu x miałem również problem z moją wieżą.]
źródło
libmysql-ruby
został wycofany i zastąpiony. Nowe polecenie:źródło