2016-06-08 50 views
0

我在ruby-1.9.3-p125上运行一个旧的rails项目,直到我更新mysql。 我最终删除&通过自制软件重新安装mysql,以解决问题。我设法恢复所有我的php项目的环境,但没有这个。rails + MySQL on OSX(Yosemite)

运行ps aux | grep的MySQL的回报:

myuser   19131 0,0 0,1 3570856 6428 ?? S  1:30μμ 0:11.46 /usr/local/Cellar/mysql/5.7.11/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.7.11 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.7.11/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/Macbook.local.err --pid-file=/usr/local/var/mysql/Macbook.local.pid 
myuser   19039 0,0 0,0 2447704 480 ?? S  1:30μμ 0:00.02 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --bind-address=127.0.0.1 --datadir=/usr/local/var/mysql 
myuser   27974 0,0 0,0 2423356 208 s001 R+ 1:22μμ 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql 

当我尝试运行耙分贝:创建我得到以下错误:

rake aborted! 
uninitialized constant Mysql2::Client::SECURE_CONNECTION 

mysql.server的状态似乎运行..当我试图阻止(MySQL的.server stop)我得到:

Shutting down MySQL 
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/macbook.local.pid). 

并且mysql继续运行,但带有一个新的pid ID。

任何想法铁轨项目什么是错的,以及如何处理它?

感谢, Ç

回答

0

你需要更新你的mysql2宝石。

首先,检查你的Gemfile包括gem 'mysql2',而不是老mysql宝石

接下来,运行bundle update mysql2如果你没有需要改变你的Gemfile,或bundle install如果你这样做。如果您确定更新其他宝石不会影响任何内容,则只运行bundle update(不包含mysql2部分)。

然后尝试运行您的rake命令。

+0

嗨乔恩,mysql2被使用,而不是mysql。按照您的建议更新了现在的rake命令并返回:dlopen(/Users/myuser/.rvm/gems/[email protected]/gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle ,9):Library not loaded:/opt/local/lib/libxml2.2.dylib 引用自:/Users....gems/nokogiri-1.5.5/lib/nokogiri/nokogiri.bundle 原因:不兼容的库版本:nokogiri.bundle要求版本11.0.0或更高版本,但libxml2.2.dylib提供版本10.0.0 - /Users/myuser/.rvm/gems/[email protected]/gems/nokogiri-1.5 .5/lib/nokogiri/nokogiri.bundle – HaCos

+0

你是如何安装libxml2的?希望你用过自制软件......在这种情况下,通过自制软件更新它,然后更新或重新安装nokogiri。你可能也有与libxslt相同的问题。 – Jon