D'erreur lorsque vous essayez d'installer l'application avec mysql2 gem
Im essayant d'installer open source rails 3.2.21 application qui utilise le mysql2
gem, mais quand j'essaie d'exécuter le bundle
commant j'obtiens l'erreur suivante:
Fetching: mysql2-0.3.18.gem (100%)
Building native extensions. This could take a while...
p
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/Users/my_username/.rvm/rubies/ruby-2.1.2/bin/ruby -r ./siteconf20150614-72129-orqsb7.rb extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using mysql_config at /usr/local/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
-----
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/5.6.25/lib
-----
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.c
compiling result.c
linking shared-object mysql2/mysql2.bundle
ld: warning: directory not found for option '-L/Users/travis/.sm/pkg/active/lib'
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/my_username/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/mysql2-0.3.18 for inspection.
Results logged to /Users/my_username/.rvm/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/extensions/x86
J'ai essayé de désinstaller toutes les versions de mysql
j'ai installé via homebrew, et de les réinstaller, comme suit:
brew uninstall --force mysql && brew install mysql
Puis en cours d'exécution:
sudo gem install mysql2
Comme l'a suggéré un certain nombre de questions similaires posées sur ici, mais il reste encore des résultats dans la même erreur que ci-dessus.
Svp quelqu'un pourrait-il offrir des conseils sur la façon d'obtenir cette place et en cours d'exécution?
- essayez d'exécuter "brew doctor" et vérifier s'il ya des erreurs. Dans ce cas, suivez les instructions et essayez de nouveau.
- Avez-vous installé un bijou de dépendances? github.com/brianmario/mysql2#general-instructions
- Je voudrais être en désaccord avec vous, je pense que vous devez toujours essayer d'utiliser votre base de données de production dans le développement, si possible. Je n'ai jamais utiliser sqlite dans le développement, ni quelqu'un avec qui je travaille.
- Oui. Je suis d'accord avec ce"je pense que vous devez toujours essayer d'utiliser votre base de données de production dans le développement," Cet ancien commentaire de la mine a été inutile. Je l'ai supprimé.
Vous devez vous connecter pour publier un commentaire.
Le journal d'erreur dit:
Donc, vous devez installer
libssl
:Espère que cela aide.
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
Pour personne encore l'expérience de la question:
Lorsque vous installer openssl par infusion, vous devriez obtenir le message suivant:
Vous pouvez définir ces indicateurs (pour l'application locale) en exécutant la commande suivante:
Cela a fonctionné pour moi.
Voir fagoteuse de la documentation pour plus d'informations.
gem install
, les ouvrages suivants:gem install mysql2 -v '0.3.21' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
gem install
, le mien est pourbundle install
. Quel problème rencontrez-vous exactement, pouvez-vous afficher le message d'erreur? La solution que j'ai posté fonctionne toujours pour moi.bundle install
pour un repo qui dépend de mysql. @AlessandroBerardi la solution ne fonctionne pas pour moi; niels @' a fait. :/bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
La solution pour moi a été d'installer Xcode Outils de Ligne de Commande.
J'ai eu récemment mis à jour Xcode sur le Mac App Store, et à chaque fois que je fais ça, j'ai trouvé que je dois réinstaller les Outils de Ligne de Commande de nouveau.
Essayez ceci:
(Version mise à jour selon le cas)
brew install openssl
puisgem install mysql2 -v '0.4.10' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
a fonctionné pour moi, Merci!Basé sur la solution ici
résolu le problème.
Merci @mudasobwa pour me pointer dans la bonne direction. Il s'avère que l'erreur a été causée par un délié openssl fichier, ce qui est en cours d'exécution:
Résolu le problème. J'ai trouvé la solution ici: OpenSSL, RVM, Brew, conflit d'erreur
À partir d'ici:
https://gorails.com/setup/osx/10.14-mojave
J'ai trouvé que j'ai eu à utiliser
--with-opt-dir=/usr/local/opt
.Plus précisément, j'ai ajouté ce qui suit à mon
~/.bundle/config
fichier: