Redmine安装:Mysql gem说未定义符号:mysql_init

时间:2012-11-14 10:25:25

标签: mysql ruby gem install redmine

我正在尝试在OVH共享服务器上安装redmine,但我遇到了MySQL gem问题。 OVH服务器不允许外部网络连接。我已经手动下载并安装了所有具有Redmine所需依赖项的gem。

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

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

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

使用这两个命令,我没有收到任何错误和消息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 个答案:

答案 0 :(得分:1)

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

因此,如果您在config/database.yml

中使用1.9
production:
  adapter: mysql2

和:

gem install mysql2

如果你正在运行Redmine> 1.4,请使用Bundler代替gem install ...