osx 10.6.8上的mysql gem出现问题 [英] Trouble with mysql gem on osx 10.6.8

查看:101
本文介绍了osx 10.6.8上的mysql gem出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将数据库从sqlite更新为mySQL(@ mu太短. ..我知道.我知道.我应该在一开始就做完,然后遇到问题.

I'm updating my database from sqlite to mySQL (@mu is too short...I know. I know. I should have done it at the beginning) and running into a problem.

这是到目前为止的过程:

Here's the process so far:

更新database.yml并按照

update database.yml and run rake db:schema:load as per this

rake aborted!
Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.)

步骤2:

运行rvm @global do gem install mysql

Fetching: mysql-2.9.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

    /Users/charliekim/.rvm/rubies/ruby-2.0.0-p247/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
    --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=/Users/charliekim/.rvm/rubies/ruby-2.0.0-p247/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}/
    --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 /Users/charliekim/.rvm/gems/ruby-2.0.0-p247@global/gems/mysql-2.9.1 for inspection.
Results logged to /Users/charliekim/.rvm/gems/ruby-2.0.0-p247@global/gems/mysql-2.9.1/ext/mysql_api/gem_make.out

步骤3:

搜索SO => 无法在Mac OS上安装mysql gem X

此答案中的解决方案不起作用,因为/usr/local中没有mySQL目录,因此我无法在其中编辑代码.

The solution in this answer didn't work as there is no mySQL directory in /usr/local so I can't edit the code there.

mkmf.log的输出=> http://pastebin.com/7qSdv73R
gcc -v =>

output of mkmf.log => http://pastebin.com/7qSdv73R
output of gcc -v =>

Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5666.3~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)

我还跑过:gem install activerecord-mysql-adapter

Edit 1:

I also ran: gem install activerecord-mysql-adapter

返回的内容:

Fetching: mysql-2.9.1.gem (100%)
Building native extensions.  This could take a while...
Successfully installed mysql-2.9.1
Fetching: i18n-0.6.5.gem (100%)
Successfully installed i18n-0.6.5
Fetching: atomic-1.1.13.gem (100%)
Building native extensions.  This could take a while...
Successfully installed atomic-1.1.13
Fetching: thread_safe-0.1.2.gem (100%)
Successfully installed thread_safe-0.1.2
Fetching: activesupport-4.0.0.gem (100%)
Successfully installed activesupport-4.0.0
Fetching: activerecord-mysql-adapter-0.0.1.gem (100%)
Successfully installed activerecord-mysql-adapter-0.0.1
Fetching: builder-3.1.4.gem (100%)
Successfully installed builder-3.1.4
Fetching: activemodel-4.0.0.gem (100%)
Successfully installed activemodel-4.0.0
Fetching: arel-4.0.0.gem (100%)
Successfully installed arel-4.0.0
Fetching: activerecord-deprecated_finders-1.0.3.gem (100%)
Successfully installed activerecord-deprecated_finders-1.0.3
Parsing documentation for mysql-2.9.1
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/mysql/mysql_api.bundle, skipping
Installing ri documentation for mysql-2.9.1
Parsing documentation for i18n-0.6.5
Installing ri documentation for i18n-0.6.5
Parsing documentation for atomic-1.1.13
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/atomic_reference.bundle, skipping
Installing ri documentation for atomic-1.1.13
Parsing documentation for thread_safe-0.1.2
Installing ri documentation for thread_safe-0.1.2
Parsing documentation for activesupport-4.0.0
unable to convert "\x80" from ASCII-8BIT to UTF-8 for lib/active_support/values/unicode_tables.dat, skipping
Installing ri documentation for activesupport-4.0.0
Parsing documentation for activerecord-mysql-adapter-0.0.1
Installing ri documentation for activerecord-mysql-adapter-0.0.1
Parsing documentation for builder-3.1.4
/Users/charliekim/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/parser.rb:87: warning: Unsupported encoding : ignored
/Users/charliekim/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/parser.rb:87: warning: Unsupported encoding  ignored
Installing ri documentation for builder-3.1.4
Parsing documentation for activemodel-4.0.0
Installing ri documentation for activemodel-4.0.0
Parsing documentation for arel-4.0.0
Installing ri documentation for arel-4.0.0
Parsing documentation for activerecord-deprecated_finders-1.0.3
Installing ri documentation for activerecord-deprecated_finders-1.0.3
10 gems installed

但运行rake db:schema:load时仍然出现相同的错误:

but I still get the same error when running rake db:schema:load:

Rake aborted!
Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.)
...

这里是database.yml:

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: db/development
  pool: 5
  username: [name]
  password: [password]
  socket: /tmp/mysql.sock
test:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: db/test
  pool: 5
  username: [name]
  password: [password]
  socket: /tmp/mysql.sock

production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: db/production
  pool: 5
  username: [name]
  password: [password]
  socket: /tmp/mysql.sock

我在gemfile中添加了gem "mysql",现在出现错误

I added gem "mysql" to the gemfile and now am getting error

rake aborted!
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

我不知道这些套接字应该是什么,我根据SO post填充了它们,所以这可能是问题的一部分.

I don't know what those sockets should be, I filled them in based on a SO post, so that could be part of the problem.

推荐答案

移动评论以作答.

1.)回答Please install the mysql adapter: gem install activerecord-mysql-adapte (mysql is not part of the bundle. Add it to Gemfile.)

ANS:在您的database.yml文件中,适配器应为mysql2而非mysql

ANS: In your database.yml file, The adapter should be mysql2 not mysql

2.) rake aborted! Can't connect to local MySQL server through socket /tmp/mysql.sock (2)

2.) rake aborted! Can't connect to local MySQL server through socket /tmp/mysql.sock (2)

ANS:使用命令

mysqladmin variables | grep socket

如果您具有root用户密码,请执行

If you have password for root, do

mysqladmin -pxxxx variables | grep socket

您将使用上述命令获取套接字文件,然后将其替换为您的database.yml文件

You wil get the socket file using the above command and just replace it in your database.yml file

干杯!!

这篇关于osx 10.6.8上的mysql gem出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆