【问题标题】:mysql2 adapter issues in installing Redmine on Fedora 17在 Fedora 17 上安装 Redmine 时出现 mysql2 适配器问题
【发布时间】:2012-11-20 02:19:36
【问题描述】:

我试图在Fedora 17 上安装Redmine,跟随this

直到这一步:

RAILS_ENV=production rake db:migrate

它会抛出一个错误:

rake aborted!
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (cannot load such file -- mysql2/mysql2)
/var/www/redmine/lib/plugins/acts_as_activity_provider/init.rb:2:in `block in <top (required)>'
/var/www/redmine/config/initializers/00-core_plugins.rb:12:in `eval'
/var/www/redmine/config/initializers/00-core_plugins.rb:12:in `block in <top (required)>'
/var/www/redmine/config/initializers/00-core_plugins.rb:2:in `each'
/var/www/redmine/config/initializers/00-core_plugins.rb:2:in `<top (required)>'
/var/www/redmine/config/environment.rb:14:in `<top (required)>'
Tasks: TOP => db:migrate => environment

这很奇怪,因为我已经用 bundle 安装了 mysql2:

bundle show
...
* mysql2 (0.3.11)//***which is right in the bundle show list***
...

我的 database.yml 是这样的:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: 123456
  encoding: utf8

我也参与其中

    ruby 1.9.3p327 (2012-11-10 revision 37606) [i386-linux]
    Rails 3.2.8                                          
    gem 1.8.24
    mysql  Ver 14.14 Distrib 5.5.28, for Linux (i686) using readline 5.1
    Redmine 2.1.3

我在google上找到了一些相关的问题,比如:http://www.redmine.org/issues/11071#note-4 我按照他们说的做,添加符号链接

ln -s /usr/local/share/gems/gems/mysql2-0.3.11/lib /usr/share/ruby/mysql2

那么和页面上发布的完全一样:

rake aborted!
uninitialized constant Mysql2::Client::REMEMBER_OPTIONS

我尝试执行 #6 中发布的内容,但它对我不起作用。 这是解决我的问题的正确方法吗?我应该如何处理第二个错误。

【问题讨论】:

  • bundle exec 可能是问题吗?
  • 什么意思?我想在终端中执行这个命令吗?
  • Gems 可以安装在系统上的 gemset 中,也可以安装在 myapp/vendor/cache 文件夹中。当使用 Capistrano/Bundler 部署设置时,gem 安装在 myapp/vendor/cache 中,并且可以通过在命令前添加 bundle exec 来执行。因此,如果你通过 SSH 连接到你的服务器并在那里运行命令,你应该在命令前加上 bundle exec。
  • thks 但我也不能让它正确而不是 SSHing 但在本地主机中,我找到了原因。似乎 Fedora 捆绑包有些不同,因为我可以通过 1.gem list | 浏览它。剪切-d" "-f1 | xargs gem uninstall -aIx 2.yum install ruby​​gem-bundler 然后通过 bundle install 重新安装 gems,奇怪

标签: ruby-on-rails redmine


【解决方案1】:

在您的 gemfile 中添加 gem 'mysql2' 并运行 bundle install 然后执行 RAILS_ENV=production rake db:migrate

【讨论】:

  • 应用程序的Gemfile当然有这个。~看我的回答,我已经解决了这个问题。
【解决方案2】:

如果您使用 Fedora 的 ruby​​,请尝试:

yum install ruby-mysql

如果您使用 RVM 或任何其他类似工具,请安装 mysql 的开发包,然后重新安装 ruby​​ mysql gem。

yum install mysql-devel

【讨论】:

  • 实际上我已经通过 :1.gem list |剪切-d" "-f1 | xargs gem uninstall -aIx 2.yum install ruby​​gem-bundler 然后通过 bundle install 重新安装 gems,奇怪..
【解决方案3】:
> add gem "minitest" into Gemfile
> gem list | cut -d" " -f1 | xargs gem uninstall -aIx
> yum erase rubygem-activesupport-3.0.11-5.fc17.noarch
> yum install rubygem-bundler
> bundle install
> then other steps, this works!!

详情请参考this 谢谢!!

【讨论】:

    猜你喜欢
    • 2011-11-13
    • 2013-03-15
    • 2012-03-09
    • 1970-01-01
    • 2023-04-04
    • 2013-05-09
    • 2013-01-16
    • 2011-02-23
    • 2020-09-24
    相关资源
    最近更新 更多