2012-11-14 52 views
0

我试图在OVH互相关服务器上安装redmine,但我被MySQL gem问题阻塞。 OVH服务器不允许外部网络连接。我已经手动下载并安装了所有具有Redmine所需依赖项的gem。Redmine安装:Mysql gem说未定义符号:mysql_init

我已经没有任何问题的MySQL安装宝石: - MySQL的2.8.1 - mysql2 0.3.11

因为我需要指定mysql的lib和包含的文件夹路径安装,因为它是一个mutualized安装和非标准布局:

gem install mysql-2.8.1.gem 
    --no-rdoc 
    --no-ri 
    -- 
    --with-mysql-config=/usr/bin/mysql_config 
    --without-mysql-dir 
    --with-mysql-lib=/usr/lib/mysql 
    --with-mysql-include=/usr/include/mysql 

gem install mysql2-0.3.11.gem 
    --no-rdoc 
    --no-ri 
    -- 
    --with-mysql-config=/usr/bin/mysql_config 
    --without-mysql-dir 
    --with-opt-lib=/usr/lib/mysql 
    --with-opt-include=/usr/include/mysql 

有了这些2级的命令,我没有得到任何错误和消息1 gem insalled

之后,有趣的手动包安装过程中,我已经按照Redmine installation tutorial初始化我的环境。

第一个命令,生成秘密令牌:rake generate_secret_token 第二个命令,建立数据库模式:RAILS_ENV=production rake db:migrate

第一个作品完美,但第二个给我这个错误:

ruby: symbol lookup error: /MYHOMEFOLDER/gems/mysql-2.8.1/lib/mysql_api.so: undefined symbol: mysql_init 

有没有人谁知道我如何解决这个问题?

回答

1

如果您使用的是ruby1.9,则使用mysql2宝石。
如果您使用的是ruby1.8,则使用mysql宝石。

因此,如果您使用的1.9,在config/database.yml

production: 
    adapter: mysql2 

和:

gem install mysql2 

如果您运行管理平台> 1.4,使用代替gem install ...

+0

我使用'ruby 1.8.7'和gem'mysql 2.8.1'。 在我的database.yml中,适配器是'mysql'。 如果我安装了mysql2 gem,即使我在ruby <1.9上,它是个问题吗? – shulard

+0

我试图卸载mysql2宝石,但结果是一样的... – shulard

+0

我建议你删除这些宝石,然后重新安装正确的。如果错误持续存在,请检查dynlib是否真的存在。否则,您可以使用'nm'命令来检查dynlib中的符号。 – undx