1

因此,安装 Ruby 企业版相当顺利(除了我所使用的系统的一个非常奇怪的怪癖,apt-get install build-essentials因为没有 GCC,我不得不这样做......),但它未能正确安装任何数据库 gem。我主要想用MySQL。这是 mysql gem 安装期间 Ruby EE 的 ./installer 的输出:

正在安装 mysql...
/opt/ruby-enterprise-1.8.6-20090610/bin/ruby /opt/ruby-enterprise-1.8.6-20090610/bin/gem install -r --no-rdoc --no-ri --no-update -sources --backtrace mysql
构建原生扩展。这可能需要一段时间...
错误:安装mysql时出错:
        错误:无法构建 gem 原生扩展。

/opt/ruby-enterprise-1.8.6-20090610/bin/ruby extconf.rb
检查 -lmysqlclient 中的 mysql_query()... 否
检查 -lm 中的 main()... 是
检查 -lmysqlclient 中的 mysql_query()... 否
检查 -lz 中的 main() ......是的
检查 -lmysqlclient 中的 mysql_query()... 否
检查 -lsocket 中的 main()... 否
检查 -lmysqlclient 中的 mysql_query()... 否
检查 -lnsl 中的 main()... 是
检查 -lmysqlclient 中的 mysql_query()... 否
检查 -lmygcc 中的 main() ... 否
检查 -lmysqlclient 中的 mysql_query()... 否
*** extconf.rb 失败 ***

显然我的服务器的 MySQL 安装没有附带源代码,所以我不能只是重新编译并希望它能工作......我试图下载版本并编译它,但我不知道从这里做什么。有任何想法吗?MySQL 已经在这个服务器上运行了很多数据库,所以我也不想弄乱这里已经存在的东西......

4

2 回答 2

2

经过一番挣扎后,我开始浏览aptitude希望找到一个可以解决问题的包。我找到libmysqlclient-dev了,安装了它,并重建了 gem ......它工作了。我觉得自己很愚蠢,呵呵,但这只是我第一次尝试将 Rails 应用程序部署到真正的网络服务器上。

于 2009-09-01T03:39:31.783 回答
0

你的系统是64位的吗?问题是gem安装程序找不到mysqlclient。

1) 使用 locate 确保 mysqlclient 和 mysql_config 在您的系统上。您可能需要先更新定位数据库。-- locate mysqlclient 应该会显示一些以 .so、.a 等结尾的库文件。

2) 试试 /opt/ruby-enterprise/bin/ruby /opt/ruby-enterprise/bin/gem install mysql -- --with-mysql-config='/usr/bin/mysql_config' --no-rdoc --诺里

(更新以上内容以使用正确的 mysql_config 和 ruby​​-enterprise 目录)

拉里

于 2009-09-01T03:31:03.207 回答