redmine安装中的秘密生成因mysql2 / mysql2中的错误而失败

问题描述 投票:3回答:3

我想在我的Debian vServer上安装redmine 2.3.x.我已经设法从源代码构建ruby并安装了gem,rails和apache乘客模块。它应该工作到那一点。我在domainfactory使用了turotial:http://www.df.eu/de/service/df-faq/cloudserver/anleitungen/ruby-on-rails-installieren-debian-ubuntu/

之后我下载并提取了redmine应用程序,如下所述:http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Installation-procedure。我创建了一个mysql帐户和数据库,制作了config / database.yml.example - > config / database.yml的副本并填入了正确的值。

之后我安装了捆绑器

gem install bundler

并继续准备环境:

bundle install --without development test

所有这些命令都成功了。

之后,我想用以下命令生成秘密令牌:

rake generate_secret_token

执行被中断,并显示以下消息:

 # rake generate_secret_token --trace
rake aborted!
cannot load such file -- mysql2/mysql2
/usr/local/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/lib/mysql2.rb:8:in `require'
/usr/local/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/lib/mysql2.rb:8:in `<top (required)>'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
/var/www/potato/config/application.rb:7:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require'
/usr/local/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require'
/var/www/potato/Rakefile:5:in `<top (required)>'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:637:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:94:in `block in load_rakefile'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:93:in `load_rakefile'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:77:in `block in run'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
/usr/local/lib/ruby/gems/2.0.0/gems/rake-10.1.0/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'

我试图通过检查版本和安装的宝石来解决这个问题。

Ruby:ruby 2.0.0p247(2013-06-27修订版41674)[x86_64-linux] Rails:Rails 3.2.13 宝石:1.8.25 Redmine:2.3.3

我用gem list --local验证了安装了宝石“mysql2”。

gem“mysql”:mysql2(0.3.13)

由于问题似乎依赖于此,我尝试重新安装包,但这没有帮助。

我错在哪里了?

在此先感谢SebastianBüttner

ruby-on-rails redmine mysql2
3个回答
1
投票

如果您的系统中没有安装以下软件包,我发现会发生此错误(至少在Debian 9上)。所以运行命令:

apt-get install default-libmysqlclient-dev


1
投票
  1. 试试bundle exec rake generate_secret_token
  2. (如果#1没有帮助)检查bundle list的输出列表中是否显示了mysql2(与gem list不同!)。请注意redmine install DB adapter according to你在database.yml的设置(但我认为你正确安装)

-1
投票

请检查您是否安装了必要的VC运行时。请检查VC运行时dll版本,你的mysql供应商dll是否依赖。

© www.soinside.com 2019 - 2024. All rights reserved.