2011-07-18 4 views
3

lors de l'exécution rake db: migrate je reçois l'erreur suivante:rake db: migrate donnant erreur pour mysql2

rake db: migrate

(dans/Users/hrastogi/ruby_project/contactlist)
râteau avorté!
pas de fichier à charger - mysql2/mysql2

la trace montre que

/Users/hrastogi/.rvm/gems/ruby-1.9.2-p180/gems/mysql2- 0.2.6/lib/mysql2.rb: 7: dans `require '

/Users/hrastogi/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2. rb: 7: dans `< haut (requis)> '

Ainsi je suis allé à mysql2.rb et je vois l'erreur est à la ligne

require 'mysql2/mysql2 

cela signifie que mysql2 manque certains modules.

La façon dont je l'ai installé mysql2 est

sudo gem install mysql2 --version = "0.2.6" - --srcdir =/usr/local/mysql/include

et ma liste de gemmologie

abstraite (1.0.0)
actionmailer (3.0.9)
actionpack (3.0.9)
ActiveModel (3.0.9)
activerecord (3.0.9)
ActiveResource (3.0.9)
activesupport (3.0.9)
arel (2.0.10)
générateur (2.1.2)
bundler (1.0.15)
erubis (2.6.6)
i18n (0.5.0)
mail (02/02/19)
types MIME (1,16)
mysql2 (0.2.6)
polyglot (0,3 .1)
crémaillère (1.2.3)
montage en rack (0.6.14)
rack essai (0.5.7)
rails (3.0.9)
railties (3.0.9)
râteau (0,8. 7)
rdoc (3,8)
redcar (0,11)
rubyzip (0.9.4)
sqlite3 (1.3.3)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0,3.29)

j'ai vu des postes similaires ici, mais on n'a pas eu beaucoup d'aide ... version MySQL est 1.5.57 pour OS 64bit amd mac est 10.6.6

j'ai essayé d'installer de donner le nom de chemin de mysql_config mais cela n'a pas fonctionné. toute aide appréciée.

error while updating mysql2 gem

Di je dois avoir libmysqlclient.16.dylib ou toute autre bibliothèque pour le client?

Répondre

2

la gemme appelée 'mysql2'. la convention nécessite 'mysql2/mysql2 est sur les sous-répertoires pour organiser les fichiers autoload.

utiliser dans votre Gemfile

gem 'mysql2',    '~> 0.2.7' 
+0

J'ai déjà comme gem 'mysql2', '0.2.6'. J'ai ajouté '~>' mais ça ne marche pas. Après avoir eu dans Gemfile dois-je faire une autre tâche avant de courir râteau? – harshit

+0

oui, bundle installer – Anatoly

0

Avez-vous essayé de mettre à jour le joyau de mysql2? Vous utilisez une ancienne version, la dernière version est 0.3.6.

Dans votre Gemfile assurez-vous que vous ne spécifiez pas la version:

gem 'mysql2' 

Et vous devez exécuter:

bundle update 

Si vous utilisez RVM installer un petit bijou que vous êtes censé faire seulement:

gem install mysql2 

Si vous voulez le faire avec des options et sudo vous avez à faire:

rvmsudo gem install -- --srcdir=/usr/local/mysql/include 

Si vous n'avez pas de RVM, je vous recommande de commencer à l'utiliser.


Autre problème que je l'habitude d'avoir avec mysql2 était quand je n'avais pas le mysql-devel (en CentOS). Peut-être que vous manquez la bibliothèque de développeur de MySQL.

+0

je rétrogradé à 0.2.6 parce que j'ai lu quelque part que 0.3.6 est pour les rails 3.1x et ci-dessus .. aussi tout en faisant mise à jour bundle je reçois erreur pour mysql2 gem .. les journaux que je vais poster .. – harshit

+0

La gemme fonctionne pour les deux rails 3.0x et 3.1x. Je l'utilise dans un projet de chacun sans problème. – ersamy

0

Ce qui est arrivé à plusieurs reprises pour moi et cela est généralement ma commande d'opérations:

gem install mysql

gem install mysql2

Puis dans mon dossier de pierres précieuses:

gem 'mysql2',    '~> 0.2.7' 

Alors je lance bundle install. Cela a fait l'affaire pour moi. :)