似乎无法在mac上安装mysql
sudo gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
/usr/local/lib/ruby/1.9.1/optparse.rb:1262: warning: regexp match /.../n against to UTF-8 string
/usr/local/lib/ruby/1.9.1/optparse.rb:1278: warning: regexp match /.../n against to UTF-8 string
/usr/local/lib/ruby/1.9.1/optparse.rb:1262: warning: regexp match /.../n against to UTF-8 string
/usr/local/lib/ruby/1.9.1/optparse.rb:1278: warning: regexp match /.../n against to UTF-8 string
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for mysql_ssl_set()... no
checking for rb_str_set_len()... no
checking for rb_thread_start_timer()... no
checking for mysql.h... yes
creating Makefile
make
gcc -I. -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -DHAVE_MYSQL_H -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/mysql/include/mysql -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -fno-common -O2 -g -Wall -Wno-parentheses -pipe -fno-common -o mysql.o -c mysql.c
In file included from /usr/local/include/ruby-1.9.1/ruby.h:32,
from mysql.c:5:
/usr/local/include/ruby-1.9.1/ruby/ruby.h: In function ‘INT2NUM’:
/usr/local/include/ruby-1.9.1/ruby/ruby.h:464: warning: comparison is always true due to limited range of data type
/usr/local/include/ruby-1.9.1/ruby/ruby.h:464: warning: comparison is always true due to limited range of data type
/usr/local/include/ruby-1.9.1/ruby/ruby.h: In function ‘UINT2NUM’:
/usr/local/include/ruby-1.9.1/ruby/ruby.h:472: warning: comparison is always true due to limited range of data type
mysql.c: In function ‘escape_string’:
mysql.c:290: error: lvalue required as left operand of assignment
mysql.c:290: error: lvalue required as left operand of assignment
mysql.c: In function ‘real_escape_string’:
mysql.c:434: error: lvalue required as left operand of assignment
mysql.c:434: error: lvalue required as left operand of assignment
make: *** [mysql.o] Error 1
Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/mysql-2.8.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
ERROR: Could not find a valid gem '—' (>= 0) in any repository
ERROR: Could not find a valid gem '–with-mysql-config=/usr/local/mysql/bin/mysql_config' (>= 0) in any repository
在执行下面的建议后,我仍然收到错误消息。似乎无法在mac上安装mysql
sudo gem install mysql - --with-mysql-config =/usr/local/mysql/bin/mysql_config /usr/local/lib/ruby/1.9.1/optparse.rb:1262:warning:正则表达式匹配/.../n针对UTF-8字符串 /usr/local/lib/ruby/1.9.1/optparse.rb:1278:警告:正则表达式匹配/.../n针对UTF-8字符串 /usr/local/lib/ruby/1.9.1/optparse.rb:1262:警告:regexp匹配UTF-8字符串/.../n字符串 /usr/local/lib/ruby/1.9.1/ optparse.rb:1278:警告:正则表达式匹配/.../n针对UTF-8字符串 构建原生扩展。这可能需要一段时间... 错误:安装mysql时出错: 错误:无法构建gem本机扩展。
/usr/local/bin/ruby extconf.rb
检查mysql_ssl_set()...是 检查rb_str_set_len()...没有 检查rb_thread_start_timer()...没有 检查mysql.h中...是 创建的Makefile
make gcc -I。 -I/usr/local/include/ruby-1.9.1/i386-darwin9.8.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9 .1 -I。 -DHAVE_MYSQL_SSL_SET -DHAVE_MYSQL_H -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I在/ usr /本地/ mysql /下包括-g -Os -arch x86_64的-fno-共同-D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -fno常见-02 -g -Wall - Wno-括号-pipe -fno-common -o mysql.o -c mysql.c 从mysql.c中包含/usr/local/include/ruby-1.9.1/ruby.h:32, 的文件:5 : /usr/local/include/ruby-1.9.1/ruby/ruby.h:在函数'INT2NUM'中: /usr/local/include/ruby-1.9.1/ruby/ruby.h:464:warning :由于数据类型范围有限,比较始终为真 /usr/local/include/ruby-1.9.1/ruby/ruby.h:464:警告:由于数据类型范围有限,比较始终为真 /usr /local/include/ruby-1.9.1/ruby/ruby.h:在函数'UINT2NUM'中: /usr/local/include/ruby-1.9.1/ruby/ruby.h:472:警告:由于数据类型范围有限,比较始终为真 mysql.c:在函数'escape_string'中: mysql.c :290:error:作为赋值左操作数所需的左值 mysql.c:290:错误:作为赋值左操作数需要左值 mysql.c:函数'real_escape_string': mysql.c:434:error:需要左值作为分配 mysql.c的左操作数:434:错误:要求作为分配的左操作数左值 化妆:* [mysql.o]错误1
宝石文件仍将安装在/ usr/local/lib目录/ruby/gems/1.9.1/gems/mysql-2.8.1进行检查。 将结果记录到/usr/local/lib/ruby/gems/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make。out 错误:无法在任何存储库中找到有效的gem' - '(> = 0) 错误:找不到有效的gem'--with-mysql-config =/usr/local/mysql/bin/mysql_config '(> = 0)中的任何存储库
这应该是
sudo gem install mysql —- –-with-mysql-config=/usr/local/mysql/bin/mysql_config
不
sudo gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
(宝石名称之间有两个连字符和编译选项,和两个连字符前缀生成选项)
您可能还需要设置ARCHFLAGS变量。见here。
您需要安装mysql开发库,因为mysql gem包含与它们链接的本机代码。在Mac上最简单的方法是使用brew - 我已经使用它并且工作完美,但任何好的mac软件包管理器都可以工作(或者您可以从源代码安装mysql)。
酿造安装:安装它http://mxcl.github.com/homebrew/ 后只需键入:
brew install mysql
所有BREW recipies默认安装开发库。
Brew非常棒,但是如果@jgervin已经没有使用它,那么只需要安装mysql就会有很多麻烦。从MySQL网站的二进制包没有问题。无需从源代码编译或使用新的包管理系统。 – idlefingers 2011-03-13 14:15:14
是的,我同意,重要的一点是除了正常的库之外,还要安装开发库。好处是,酿造是免费的。 – 2011-03-13 15:41:34
从mysql下载的安装程序也可以为你做这一切。它的安装和冲泡一样简单。那么,如果你没有安装自制软件,那就是。 – idlefingers 2011-03-13 16:38:06
顺便说一句,不要使用MySQL的宝石红宝石1.9.x,因为它不支持正确的编码。改用mysql2 gem。 – 2011-03-13 16:19:59