[RUBY] Was tun, wenn mysql2 einen Bundle-Installationsfehler erhält?

Voraussetzungen

mac OS Rails 6.0.3.2 ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin19]

Problem

Als ich ein Projekt in einer lokalen Umgebung erstellte, während ich mir die Unterrichtsmaterialien einer bestimmten Online-Schule ansah, trat bei der Bundle-Installation der folgende Fehler auf.

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/ebinashohei/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/ext/mysql2
/Users/ebinashohei/.rbenv/versions/2.6.3/bin/ruby -I /Users/ebinashohei/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r ./siteconf20200622-74325-qvfli8.rb extconf.rb
checking for rb_absint_size()... yes
checking for rb_absint_singlebit_p()... yes
checking for rb_wait_for_single_fd()... yes
-----
Using mysql_config at /usr/local/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for SSL_MODE_DISABLED in mysql.h... yes
checking for SSL_MODE_PREFERRED in mysql.h... yes
checking for SSL_MODE_REQUIRED in mysql.h... yes
checking for SSL_MODE_VERIFY_CA in mysql.h... yes
checking for SSL_MODE_VERIFY_IDENTITY in mysql.h... yes
checking for MYSQL.net.vio in mysql.h... yes
checking for MYSQL.net.pvio in mysql.h... no
checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in mysql.h... yes
checking for SERVER_QUERY_NO_GOOD_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_NO_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_WAS_SLOW in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_ON in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_OFF in mysql.h... yes
checking for my_bool in mysql.h... no
-----
Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load
-----
-----
Setting libpath to /usr/local/Cellar/mysql/8.0.19_1/lib
-----
creating Makefile

current directory: /Users/ebinashohei/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/ext/mysql2
make "DESTDIR=" clean

current directory: /Users/ebinashohei/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3/ext/mysql2
make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.c
compiling result.c
compiling statement.c
linking shared-object mysql2/mysql2.bundle
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/ebinashohei/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/mysql2-0.5.3 for inspection.
Results logged to /Users/ebinashohei/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/mysql2-0.5.3/gem_make.out

An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  mysql2

Lösungen

Da ein ähnlicher Fehler behoben wurde, wird er unten gezeigt.

$bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
$ bundle install

Referenzseite https://qiita.com/SAYJOY/items/dd7c8fc7a3647e7ff969

Recommended Posts

Was tun, wenn mysql2 einen Bundle-Installationsfehler erhält?
Fügen Sie gem'rails-i18n ',' ~> 6.0.0 'hinzu und was zu tun ist, wenn die Bundle-Installation einen Fehler anzeigt
Was tun, wenn ein Fehler auftritt, wenn nokogiri bei der Bundle-Installation eingeht?
Was tun, wenn in Docker ein gcc-Fehler auftritt?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
Was tun, wenn Sie gem'bcrypt 'in Ihre Gemfile eingeben und bei der Bundle-Installation eine Fehlermeldung erhalten?
Bei der Bundle-Installation tritt ein Fehler auf, nachdem die Datenbank auf MySQL gesetzt wurde
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
mysql2 kann mit der Bundle-Installation nicht installiert werden
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
Was tun, wenn bei Verwendung von Liferay 7 / DXP unter AWS ein SAX-Parser-Fehler auftritt?
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
Was tun, wenn eine javax.el.PropertyNotWritableException auftritt?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn beim Installieren von Axios in einem React + Typescript-Projekt ein Fehler auftritt?
Was tun, wenn Sie in Thymeleaf Layout eine groovige Warnung erhalten?
Was tun, wenn Sie das Plug-In nicht vom Eclipse Marketplace installieren können?
Kein Platz mehr auf dem Gerät Was tun, wenn ein Fehler auftritt?
Kopieren des Repositorys und Abrufen eines mysql2-Fehlers bei der ersten Bundle-Installation
Was tun, wenn auf GitHub eine MiniMagick-Sicherheitsanfälligkeitswarnung angezeigt wird?
Was tun, wenn der Server-Tomcat stirbt?
Fehler bei der Bundle-Installation nach dem Upgrade auf Catalina
Was tun, wenn Sie falsche Informationen eingeben?
Was tun, wenn mvn archetype: generate fehlschlägt?
Was tun, wenn das von refile gepostete Bild nach dem Einstellen der 404-Fehlerseite in Rails verschwindet?
Was tun, wenn Sie Gemfile oder .bundle / directory nicht finden konnten?
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
[Ubuntu] Was tun, wenn MongoDB aufgrund eines SocketException-Fehlers nicht gestartet werden kann?
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
Fehler bei der Bundle-Installation
So installieren Sie MySQL
Was tun, wenn die Installation des Debug-Gems fehlschlägt?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn beim Starten von Tomcat eine ClassNotFoundException auftritt?
Was tun, wenn der Rails-Server nicht gestoppt werden kann?
Was tun, wenn TextToSpeech unter Android 11 nicht funktioniert?
Was tun, wenn beim Versuch, Eclipse unter Java 9 auszuführen, ein NoClassDefFoundError angezeigt wird?
Was ist zu tun, wenn Fehler / Fehler: Datei erforderlich.expand_path ('../ config / environment', __dir__) in RSpec angezeigt wird
Was tun, wenn beim Abrufen von Rails datetime_field die Fehlermeldung "Bitte geben Sie einen gültigen Wert ein" angezeigt wird?
Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden" angezeigt wird? Beim Starten des Rails-Servers
Bei der Bundle-Installation wird mysql2 nicht installiert