感动我的Rails应用到一个新的服务器,并且必须安装一些宝石的依赖。 但是,安装MySQL的宝石后,我得到的错误,未初始化的常量MysqlCompat :: MysqlRes,每当我试图运行涉及到mysql数据库耙命令。 看来,当我需要mms2r宝石我只得到这个错误。 有没有人听说过这个? 我运行MySQL 2.8.1宝石。
Answer 1:
在我的Mac OS X 10.6我这样做是为了安装2.8.1宝石,这与我的MacPorts MYSQL5服务器的完美工作:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql
Answer 2:
基本问题是动态库的libmysqlclient无法找到。 上述解决方案将工作,但您需要重新申请他们的任何时候,你重建宝石,或者当您安装一个新的MySQL版本。
另一种方法是将含有该库的MySQL目录添加到您的动态负载路径。 把下面我.bashrc文件解决了这个问题:
export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
Answer 3:
我的问题是由于我的“MySQL的”是一个32位的安装,同时红宝石分别为64位和32位。 检查这些命令
file `which mysql`
file `which ruby`
两者应该匹配的Mach-O 64位可执行x86_64的或Mach-O的64位可执行的i386。 我安装了一个64位的MySQL,然后
export ARCHFLAGS="-arch x86_64" ; sudo gem install --no-rdoc --no-ri mysql -v 2.7 -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/mysql/bin/mysql_config
瞧!
Answer 4:
如果您有mysql 5.5遵循此: http://geryit.com/blog/2011/01/installing-mysql-with-rails-on-mac-os-x-snow-leopard/
FTR:如果我并不需要一些愚蠢的代表,以给予好评,我会upvoted的identitcal答案,认为是对我给予好评。
Answer 5:
是的,我看到了一个类似的错误信息,寻找同样不存在的类MysqlCompat :: MysqlRes
事实证明,那类不应该存在; 该错误信息是通过使用最新的MySQL驱动程序问题引起的。 的mysql-2.8.1在与“mysql的”在年底额外级别指定的目录找我的图书馆。 例如,我的图书馆(在MacOS X 10.5.8),是在/ usr /本地/ MySQL的/ lib目录,但mysql.bundle库会在MySQL的库在/ usr /本地/ MySQL的/ lib中/ MySQL的...这是不对的。
我发现它很容易的解决,通过创建位于/ usr /本地/ MySQL的/ lib目录名为“MySQL的”,它指向一个符号链接“”
所以当库在额外的深度引用,他们发现,和工作。 这绝对是一个黑客; 我敢肯定,有更合适的方法来解决这个问题。 我只是需要它来工作,这样我就可以得到与其他的东西。
此外,这可能不是为你工作。 很可能,如果你的错误是这样工作的:
./mysql.bundle: dlopen(./mysql.bundle, 9): Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib (LoadError)
Referenced from: /Users/ccullen/Projects/npapp-v2/mysql-ruby-2.8.1/mysql.bundle
Reason: image not found - ./mysql.bundle
from test.rb:5
因为这似乎是一个新的发展,我还没有看到它的任何直接回应,我想我会分享我如何固定它。 祝好运 :)
Answer 6:
创业板安装-v = 2.7.1将修复它。
Answer 7:
在创业板设置适当的ARCHFLAGS(重新)安装帮我..不需要任何符号链接:
http://joergbattermann.tumblr.com/post/181479575/fixing-the-nameerror-uninitialized-constant
Answer 8:
这个问题出现在我身边,从9.10升级的Ubuntu 10.04后。
这似乎是与MySQL宝石的问题。
症状:任何ActiveRecord使用的,需要到MySQL的连接产生一个堆栈跟踪从“未初始化不断MysqlCompat :: MysqlRes”现身
我尝试了“宝石更新MySQL的”,我发现我无法构建本地扩展,因为编译器无法找到mysql_client库。 这个库(libmysqlclient.so.16)坐落在/ usr / lib目录。
修复了Ubuntu的10.04:
作为root用户,我做这些:
apt-get install libmysqlclient-dev
gem install mysql
我注意到,几个不同的人在这里尝试新事物,我不知道,如果我们不定位的根本原因。
人们需要在他们的答案澄清变量:
- 操作系统版本 -什么是你使用的是哪个版本?
- 在那里和你是怎么安装mysql? - 这里的人们似乎在/ usr /本地(我装矿通过Ubuntu的包装系统)已经安装从源代码的MySQL的
- 你是在64位的Ubuntu或32位? (我目前在32位。)
Answer 9:
与MySQL宝石(2.8.1),我得到
未初始化的常量MysqlCompat :: MysqlRes
使用-v 2.7使得它完美的工作,并为那些谁使用自制安装mysql
sudo的创业板安装MySQL的-v 2.7 - --with-mysql的-配置=在/ usr /本地/库/ MySQL的/ 48年5月1日/斌/ mysql_config
请注意,如果需要的话你可以改变MySQL版本。
Answer 10:
须藤宝石安装mysql -v 2.7应该做的伎俩...
Answer 11:
sudo的创业板安装MySQL的-v 2.7 - 迁移到我的新雪豹笔记本电脑的时候--with-mysql的-配置=在/ usr /本地/ MySQL的/斌/ mysql_config也奏效了我。 我没有使用的MacPorts安装mysql,而是二进制文件,并与拱形标志的解决方案或符号链接没有运气。
Answer 12:
我尝试了一切在这里,但仍然有问题。 降级从MySQL 5.5到5.1的固定对我来说。 (Mac OS X的10.6.5)
Answer 13:
降级(从5.9)到MySQL 5.1中帮上10.6 ...运行MySQL和mysql2宝石。
Answer 14:
mysql和mysql2宝石上的红宝石1.9.2两个工作刚刚更新红宝石和安装所需的宝石。
Answer 15:
gem uninstall mysql
gem install mysql -v 2.7 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
ldconfig /usr/local/mysql/lib/mysql
RAILS_ENV=production rake db:migrate --trace
这为我工作。
Answer 16:
sudo apt-get install libmysqlclient15-dev
Answer 17:
我已经尝试了所有上述的和他们没有为我工作,要么。 当试图安装的MySQL 2.7版本,我得到的错误:
sudo gem install -v=2.7.1 mysql -- --with-mysql-dir=/usr/local/mysql-5.1.39-osx10.5-powerpc/bin/mysql_config
ERROR: could not find gem mysql locally or in a repository
F107PHD:stepgreen.org tdillahu$ sudo gem install -v=2.7 mysql -- --with-mysql-dir=/usr/local/mysql-5.1.39-osx10.5-powerpc/bin/mysql_config
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-mysql-dir=/usr/local/mysql-5.1.39-osx10.5-powerpc/bin/mysql_config
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
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
*** 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=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
--with-mysql-config
--without-mysql-config
--with-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
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.7/gem_make.out
我原来的错误:AKE中止! 未初始化的常量MysqlCompat :: MysqlRes /vendor/rails/activesupport/lib/active_support/dependencies.rb:440:in load_missing_constant' /vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in
const_missing'
Answer 18:
我在Fedora 10升级到Fedora 12,我刚好卸载MySQL的宝石,并重新进行安装固定后,它有同样的问题。 因此,它与MySQL的新版本的规定。
Answer 19:
sudo的创业板安装MySQL的-v 2.7 - --with-mysql的-配置=在/ usr /本地/ MySQL的/斌/ mysql_config
完美的工作对我来说:)
Answer 20:
在Mac OS X 10.6.4,我必须指定架构和配置目录:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Answer 21:
如果你的MySQL版本是5.5,你应该将其卸载。 我刚刚离开了一篇关于用mysql红宝石: http://geryit.com/blog/2011/01/installing-mysql-with-rails-on-mac-os-x-snow-leopard/
Answer 22:
这是对我工作。 我读了一吨的帖子,发现使用该系统的安装红宝石是造成不兼容的问题:
- 不使用默认安装的红宝石! 安装与MacPorts的红宝石
- 不使用默认的RubyGems安装! 安装RB-RubyGems的与MacPorts的
- 使用MySQL的5.1(不5.5) - 从mysql.com MAC的.dmg安装 4。
须藤ENV ARCHFLAGS = “ - 拱x86_64的” 宝石安装mysql - --with-mysql的-配置=在/ usr /本地/ MySQL的/斌/ mysql_config
Answer 23:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql
DMG包从MySQL网站的ddone!
Answer 24:
sudo gem install mysql -v 2.7 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
也为我工作的时候足弓标志和符号链接didnt! 谢谢!!
Answer 25:
MySQL的依赖是如何与mms2r? 我是mms2r作者,顺便说一句。
该mms2r gemspec https://github.com/monde/mms2r/blob/master/mms2r.gemspec没有列出一个MySQL的依赖。