030v07he8p 发表于 2016-5-15 10:40:59

Mac OS中的mysql驱动

说一下折腾了我大半天的RoR环境搭建,总算是搞好了。
以前用windows做RoR,也就升级一下gem和mysql驱动,貌似很简单。
雪豹加上新版本的冬冬真是费了很久才配好。
新买的机器MacBook pro 990,为的当然是mac os。
默认配机Mac OS x 10.6。
上来从machome下载的的一个mysql 5.1(但是是32位的),然后再装好CocoaMySQL调试了一下,准备开始用mate开发了。建好项目,建好scaffold,准备rake db:migrate的时候报错:
rake aborted!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.

mysql驱动不行?
然后升级一下gems
sudo gem update --system

再重装一下mysql,
sudo gem install mysql

发现驱动都装不了。报错大致是这样的:
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
结果gem就用了一个默认的mysql-1.8.2来顶替。
这个ruby头文件不行怎么办。rails和gems也都是新的亚。
然后网上搜了一堆。貌似中文的帖子中没有好的解决方案。都是说升级一下驱动就行。
后来看到stackOverFlow和ruby-forum上面有几个说法。
先升级xcode到3.2.1(目前最新),因为我是在machome的FTP上面下的xcode,是3.1的,原来对MAC OS X 10.6的支持不够。(比如对ruby)
也不知道怎么卸载原来的xcode
700多M的xcode 3.2.1下好直接安装。
这回重启之后,gem install mysql居然就正常了。
但migrate还是不行。这次报
uninitialized constant MysqlCompat::MysqlRes

再去查,原来是必须要用64位的mysql。OK,再坚持一把,去官网下载好信mysql for mac x86_64。直接安装。(看了一下/usr/local/中mysql只是一个link,装好就指到最新的路径去了。所以老的不受影响。
怕影响环境,再重启后,输入:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

进行mysql-ruby的驱动安装。
一番移花接木之后,migrate终于成功了。
吐血。
总结:所有东西最好都用最新版本的(当然语言是另外一回事)。
PS: 苹果的多桌面、1-4指禅、快捷键、命令行等真是很好用。VERY GOOD。所以麻烦就麻烦点了,值!
页: [1]
查看完整版本: Mac OS中的mysql驱动