La commande rails serveur code> jette cette erreur
C:\>gem install mysql2 --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
C:/Ruby200/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--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=C:/Ruby200/bin/ruby
C:/Ruby200/lib/ruby/2.0.0/mkmf.rb:431:in `try_do': The compiler failed to generate an executable file. (Runtim
eError)
You have to install development tools first.
... other code follows here...
5 Réponses :
Désinstaller Installation
Suivez ce guide sur l'installation de devkit http://rubyonwindowsguides.github.com/book/ CH02-04.HTML . P>
puis réessayez. P> mysql2-0.3.11-x86-mingw32 code>, gemmes compilées avant
ruby200 code> ne fonctionnera pas. Vous devez le compiler vous-même.
Si vous exécutez
gem uninstall mysql2 code> et il existe une version non compilée répertoriée, alors simplement désinstaller
mysql2-0.3.11-x86-mingw32 code> - la version compilée ... p>
GEM Installer MySQL2 --Platform = Ruby code>. Ça marcherait. p>
exactement le même comportement lorsque j'essaie d'installer redmine sur Windows XP P>
Pour le moment, je suis coincé là-bas ... mais si quelqu'un a quelque chose pour me permettre d'aller de l'avant, ce sera le bienvenu. Je resterai informé aussi bien p>
antoine p>
a eu le problème absolument même sur Windows 7 x64 avec Ruby 2.0.0 et Devkit 4.7. P>
Les étapes suivantes m'ont aidé. P>
GEM Désinstallation MySQL2 P> blockQuote> li>
Télécharger le dernier connecteur MySQL de http://cdn.mysql.com/downloads/connector-c/mysql-connector-c-noinstall-6.0.2-win32.zip p> li>
extraire à
c: \ connecteur-6.0.2 strong> p> li> GEM Installer MySQL2 --Platform = Ruby - '--with-mysql-lib = "C: \ Connector-6.0.2 \ Lib" - Peut-être = "C: \ Connector-6.0. 2 \ Inclure "--with-mysql-dir =" C: \ connecteur-6.0.2 "' P> blockQuote> li> ol>
ou même plus court: p>
GEM Installez MySQL2 --Platform = Ruby - --with-opt-dir = "C: \ connecteur-6.0.2" P> blockQuote>
Ouais, ça a fonctionné! Mais d'abord, vous devez utiliser cmd.exe b>, pas PowerShell! Deuxièmement, vous devez parfois forcer la version GEM dans votre Gemfile B> à, par exemple. 0.3.13, car Bundler installe 0.2.6-Mingw version compilée ...
Utilisez ci-dessus si ci-dessus ne fonctionne pas: - GEM Installez MySQL2 --Platform = Ruby - '--with-mysql-lib = "C: \ connecteur-6.0.2 \ lib" - Peut-à-dire = "c : \ connecteur-6.0.2 \ inclure "
@Rohitportwal Vous avez travaillé pour moi, mais vous manquez la finale 'dans la commande, c'est-à-dire que doit être: GEM Installez MySQL2 --Platform = Ruby -' --with-mysql-lib = "C: \ Connector-6.0 .2 \ lib "- -with-mysql-include =" c: \ connecteur-6.0.2 \ inclure "'
J'ai presque fait la même chose que @odiszapc décrit. Désinstaller Old Gem, téléchargez MySQL-Connector-C-Noinstall, Unzip, mais enfin, j'ai utilisé cette commande pour construire un gemme natif: (Si vous utilisez git-bash, vous pouvez utiliser git-bash, vous pouvez utiliser un style UNIX. Syntaxe de répertoire.) p> p>
Veuillez noter que si vous exécutez la mise à jour de l'installation ou de la bundle, la version Mingw de MySQL2 GEM sera à nouveau installée. Vous devez "gem la désinstaller" ça ...
Je devais faire des gems installer mysql2 --platform = ruby - --with-opt-dir = / c / connecteur-6.0.2 --with-mysql-dir = / c / connecteur-6.0.2 ... parce que La compilation a échoué et j'ai remarqué qu'il y a des références à $ {mysql-dir} / include.
Copier la pâte de ce lien: https://github.com/bridienmario/mysql2/issues/ 359 . Cela a fonctionné pour moi. P>
Si après l'installation du gemme, vous obtenez une erreur: p>
"Le module spécifié n'a pas pu être trouvé.
C: /Devel/Ruby200/LIB/RUBY/GEMS/2.0.0/GEMS/MYSQL2-0.3.11/LIB/MYSQL2/MYSQL2.SO " P> blockQuote>qui peut être corrigé en copiant
libmysql.dll code> au dossier bin de Ruby's Bin. P>