【发布时间】: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 rubygem-bundler 然后通过 bundle install 重新安装 gems,奇怪
标签: ruby-on-rails redmine