gpt4 book ai didi

mysql - Snow Leopard + Ruby 1.9.1 + MySQL Gem = 大问题

转载 作者:IT王子 更新时间:2023-10-28 23:45:33 25 4
gpt4 key购买 nike

我尝试了大约 3-4 个小时,试图让 mysql gem 为雪豹上的 ruby​​ 1.9.1 安装。在我升级到雪豹之前,mysql gem 在 1.9.1 上工作得很好。我从我的机器上卸载了 MySQL 服务器和 gem。然后我下载并安装了:mysql-5.1.37-osx10.5-x86_64.dmg。我已经能够断言我安装的这个新版本作为 64 位应用程序运行。

我卸载了 mysql gem。当我尝试使用此命令安装 gem 时:

env ARCHFLAGS="-arch x86_64" gem install mysql --verbose -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

我遇到了这个错误:

GET 304 Not Modified: http://gems.rubyforge.org/latest_specs.4.8.gzGET 200 OK: http://gems.github.com/latest_specs.4.8.gzInstalling gem mysql-2.8.1/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/COPYING/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/COPYING.ja/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/History.txt/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/Manifest.txt/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/README.txt/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/Rakefile/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/extconf.rb/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/mysql.c/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/README.html/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/README_ja.html/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/tommy.css/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/lib/mysql.rb/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/gem.rake/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/native.rake/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/vendor_mysql.rake/Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/test/test_mysql.rbBuilding native extensions.  This could take a while...ERROR:  Error installing mysql:        ERROR: Failed to build gem native extension./Users/sean/.rvm/ruby-1.9.1-p243/bin/ruby extconf.rb --with-mysql-config=/usr/local/mysql/bin/mysql_configchecking for mysql_ssl_set()... yeschecking for rb_str_set_len()... nochecking for rb_thread_start_timer()... nochecking for mysql.h... yescreating Makefilemakegcc -I. -I/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/i386-darwin9.8.0 -I/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/backward -I/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1 -I. -DHAVE_MYSQL_SSL_SET -DHAVE_MYSQL_H  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I/usr/local/mysql/include  -g -Os -arch x86_64 -fno-common   -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  -fno-common -pipe -fno-common  -o mysql.o -c mysql.cIn file included from /Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby.h:32,                 from mysql.c:5:/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/ruby.h: In function 'INT2NUM':/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/ruby.h:464: warning: comparison is always true due to limited range of data type/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/ruby.h:464: warning: comparison is always true due to limited range of data type/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/ruby.h: In function 'UINT2NUM':/Users/sean/.rvm/ruby-1.9.1-p243/include/ruby-1.9.1/ruby/ruby.h:472: warning: comparison is always true due to limited range of data typemysql.c: In function 'escape_string':mysql.c:290: error: lvalue required as left operand of assignmentmysql.c:290: error: lvalue required as left operand of assignmentmysql.c: In function 'real_escape_string':mysql.c:434: error: lvalue required as left operand of assignmentmysql.c:434: error: lvalue required as left operand of assignmentmake: *** [mysql.o] Error 1Gem files will remain installed in /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1 for inspection.Results logged to /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

我已尝试从以下链接阅读的所有内容。

  1. http://void-design.net/2009/08/05/ruby-191-mysql-and-a-snow-leopard/
  2. http://www.schmidp.com/2009/06/14/rubyrails-and-mysql-on-snow-leopard-10a380/
  3. Rails, MySQL and Snow Leopard

有什么想法吗?

最佳答案

Sean,我看到你在 rvm 下运行 Ruby 1.9.1。我在相同的设置下遇到了同样的问题(Snow Leopard、rvm、MySQL 64 位包)。所有备用 gem(mysqlplus、kwatch-mysql-ruby 等)都因同样的错误而失败。

我会怀疑 MySQL 安装,但在系统默认的 Ruby 下一切都像冠军一样工作。所以我想知道 rvm 是否不是某种事件 Spanner 。

编辑: 我想通了。我在升级到 Snow Leopard 之前安装了 rvm,所以我的 Ruby 1.9.1 安装需要重新编译。为了更好地衡量,我从头开始重新安装了 rvm。

这是我做的:

sudo gem uninstall rvm
rm -rf ~/.gem
sudo gem install rvm
rvm-install
rvm install 1.9.1
rvm 1.9.1
env ARCHFLAGS="-arch x86_64" gem install mysql

(注意:在 rvm 下安装 gems 时不能使用 sudo,因为 rvm 是通过修改 $PATH 来工作的。)

(注意:我将/usr/local/mysql/bin 添加到我的 $PATH 中,因此在安装 mysql gem 时我不必指定任何那些糟糕的命令行参数。)

mysql gem 安装顺利。

关于mysql - Snow Leopard + Ruby 1.9.1 + MySQL Gem = 大问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1357997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com