2010-04-21 4 views
0

Je suis en train de suivre le screencast de base "Create a blog in 20 minutes" Rails mais j'ai déjà rencontré une pierre d'achoppement.Echec de l'installation activeecord-jdbcmysql-adaptateur gem

Lorsque j'essaie de ratisser db: migrate, je reçois des erreurs sur l'installation de la gem activerecord-jdbcmysql-adapter. Quand j'essaye de l'installer, on me dit qu'il n'existe pas.

Si j'essaie de simplement installer gem mysql, toutes sortes de folies apparaissent.

Je l'utilise sous Mac OS X 10.6.2 et mon installation a été entièrement gem. Ma configuration de base fonctionne (Bonjour tout le monde!).

Voici le journal des erreurs:

$ rake db:migrate (in /Users/xxxx/Sites/blog) rake aborted!

Please install the jdbcmysql adapter:

gem install activerecord-jdbcmysql-adapter (no such file to load -- active_record/connection_adapters/jdbcmysql_adapter)

(See full trace by running task with --trace)

$ sudo gem install activerecord-jdbcmysql-adapter

ERROR: could not find gem activerecord-jdbcmysql-adapter locally or in a repository

$ sudo gem install mysql Password: Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension.

/opt/local/bin/ruby extconf.rb
checking for mysql_query() in
-lmysqlclient... no checking for main() in -lm... yes checking for
mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in
-lmysqlclient... no checking for main() in -lsocket... no checking for
mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in
-lmysqlclient... no checking for main() in -lmygcc... no checking for
mysql_query() in -lmysqlclient... no
* 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=/opt/local/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir --without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib --with-mlib
--without-mlib --with-mysqlclientlib
--without-mysqlclientlib --with-zlib
--without-zlib --with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib --without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib --without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib --without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib

Gem files will remain installed in
/opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1
for inspection. Results logged to
/opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

+0

Je suis confronté au même problème, et je viens d'installer NetBeans hier. La version Java n'aide pas, et une réinstallation de Rails 2.3.8 ne fonctionne pas non plus. Est-ce que quelqu'un sait quelle est la correction actuelle? – sscirrus

Répondre

2

On dirait que d'une manière ou d'une autre j'ai eu deux versions de rails installés. Je l'ai fait à l'origine:

gem install rails 

qui a installé 2.3.5. Puis, quand j'ai essayé de courir un échafaudage, il dit que j'avais la mauvaise version, il se plaint et a suggéré que j'ai installé 2.3.5 ...

Je l'ai fait avec la commande:

gem install -v=2.3.5 rails 

Cela signifiait que j'avais deux (J'ai trouvé cela quand j'ai essayé de désinstaller), et pour une raison quelconque, il essayait d'utiliser la version de Ruby ... Cela peut avoir été à Netbeans en utilisant les mauvais paramètres aussi.

En fin de compte je tout désinstallé, couru:

gem install -v = 2.3.5 rails

et fait en sorte Netbeans ne cherchait pas à utiliser JRuby comme avant. Maintenant, j'ai une version qui ne se plaint pas pour échafaudage ou db: migrer. Vendu!

0

peut-être vous dire activerecord-jdbcmysql adaptateur? vous pouvez faire une gem activerecord-jdbcmysql-adaptateur et installé. Mais AFAIK vous avez juste besoin d'utiliser JDBC, normalement avec JRUBY. Si vous utilisez JRUBY, je vous recommande ce site http://kenai.com/projects/jruby/pages/Home

+0

Je n'ai pas choisi d'utiliser JBury n'importe où, cela semble être arrivé par lui-même. Comme je l'ai dit, j'ai installé avec $ gem installer des rails OS OS X 10.6 alors quoi que ce soit, c'est ce que j'ai. –

1

Il semble que vous n'ayez pas installé les Outils de développement Apple, qui incluent les fichiers d'en-tête Ruby.

C'est ce que fixe quand je courais dans cette ERROR: Failed to build gem native extension.

+1

Désolé Zack vous l'avez mentionné dans un Tweet et j'ai totalement oublié de répondre. J'ai XCode installé et ça marche bien, c'était un problème différent. Merci d'avoir répondu, toujours apprécié. –

0

Works pour moi avec:

gem install --platform java activerecord-jdbcmysql-adapter 

Réalisés il n'a pas été en défaut à la plate-forme correcte après avoir vu sur http://rubygems.org/gems/activerecord-jdbcmysql-adapter que la version était césure -Java.

(ai fait une « mise à jour de gemme --system » juste avant. Je ne sais pas si elle a eu un effet sur ce point.)

Oh et oui, pour Mysql vous aurez besoin Xcode et, éventuellement, en-têtes supplémentaires à installer pour mysql.