由于detailed manual,我只是将redmine安装到我的服务器上。一切都很顺利,但最后一步失败了一些错误,我不知道如何解决它。
命令是
RAILS_ENV=production bundle exec rake db:migrate
输出错误
You cannot specify the same gem twice with different version requirements.
You specified: mysql (>= 0) and mysql (~> 2.9.1)
宝石列表
*** LOCAL GEMS ***
actionmailer (3.2.15)
actionpack (3.2.15)
activemodel (3.2.15)
activerecord (3.2.15)
activeresource (3.2.15)
activesupport (3.2.15)
arel (3.0.3)
bigdecimal (1.2.0)
builder (3.0.0)
bundler (1.3.5)
capybara (2.1.0)
childprocess (0.3.9)
coderay (1.1.0)
daemon_controller (1.1.7)
database_cleaner (1.2.0)
erubis (2.7.0)
ffi (1.9.3)
hike (1.2.3)
hoe (3.7.1)
i18n (0.6.4)
io-console (0.4.2)
journey (1.0.4)
jquery-rails (2.0.3)
json (1.8.1, 1.7.7)
mail (2.5.4)
metaclass (0.0.1)
mime-types (1.25.1)
mini_portile (0.5.2)
minitest (4.3.2)
mocha (0.14.0)
multi_json (1.8.2)
mysql (2.9.1)
net-ldap (0.3.1)
nokogiri (1.6.0)
passenger (4.0.25)
polyglot (0.3.3)
psych (2.0.0)
rack (1.5.2, 1.4.5)
rack-cache (1.2)
rack-openid (1.4.1)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.15)
railties (3.2.15)
rake (0.9.6, 0.8.7)
rdoc (4.0.0, 3.12.2)
RedCloth (4.2.9)
rmagick (2.13.2)
ruby-openid (2.3.0)
rubygems-update (2.1.11)
rubytree (0.5.2)
rubyzip (1.0.0)
selenium-webdriver (2.37.0)
shoulda (3.3.2)
shoulda-context (1.0.2)
shoulda-matchers (1.4.1)
sprockets (2.2.2)
test-unit (2.0.0.0)
thor (0.18.1)
tilt (1.4.1)
treetop (1.4.15)
tzinfo (0.3.38)
websocket (1.0.7)
xpath (2.0.0)
yard (0.8.7.3)
的Gemfile
source 'https://rubygems.org'
gem "rake", "0.8.7"
gem "rack", "1.4.5"
gem "i18n", "0.6.4"
gem "rubytree", "0.5.2", :require => "tree"
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
gem "mysql"
gem "rails", "3.2.15"
gem "jquery-rails", "~> 2.0.2"
gem "coderay", "~> 1.1.0"
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
gem "builder", "3.0.0"
# Optional gem for LDAP authentication
group :ldap do
gem "net-ldap", "~> 0.3.1"
end
# Optional gem for OpenID authentication
group :openid do
gem "ruby-openid", "~> 2.3.0", :require => "openid"
gem "rack-openid"
end
# Optional gem for exporting the gantt to a PNG file, not supported with jruby
platforms :mri, :mingw do
group :rmagick do
# RMagick 2 supports ruby 1.9
# RMagick 1 would be fine for ruby 1.8 but Bundler does not support
# different requirements for the same gem on different platforms
gem "rmagick", ">= 2.0.0"
end
end
platforms :jruby do
# jruby-openssl is bundled with JRuby 1.7.0
gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERSION < '1.7.0'
gem "activerecord-jdbc-adapter", "~> 1.3.2"
end
# Include database gems for the adapters found in the database
# configuration file
require 'erb'
require 'yaml'
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
if adapters.any?
adapters.each do |adapter|
case adapter
when 'mysql2'
gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when 'mysql'
gem "mysql", "~>2.9.1", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when /postgresql/
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
gem "activerecord-jdbcpostgresql-adapter", :platforms => :jruby
when /sqlite3/
gem "sqlite3", :platforms => [:mri, :mingw]
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
when /sqlserver/
gem "tiny_tds", "~> 0.5.1", :platforms => [:mri, :mingw]
gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw]
else
warn("Unknown database adapter `#{adapter}` found in config/database.yml, use
Gemfile.local to load your own database gems")
end
end
else
warn("No adapter found in config/database.yml, please configure it first")
end
else
warn("Please configure your config/database.yml first")
end
group :development do
gem "rdoc", ">= 2.4.2"
gem "yard"
end
group :test do
gem "shoulda", "~> 3.3.2"
gem "mocha", ">= 0.14", :require => 'mocha/api'
if RUBY_VERSION >= '1.9.3'
gem "capybara", "~> 2.1.0"
gem "selenium-webdriver"
gem "database_cleaner"
end
end
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
if File.exists?(local_gemfile)
puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v`
instance_eval File.read(local_gemfile)
end
# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file|
puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
#TODO: switch to "eval_gemfile file" when bundler >= 1.2.0 will be required (rails 4)
instance_eval File.read(file), file
end
感谢您的回答。
美好的一天 扬
答案 0 :(得分:1)
删除gemfile第8行的第一个gem "mysql"
,因为db gems是根据你使用的适配器自动包含的。然后再次运行bundle
并重试。
答案 1 :(得分:1)
错误信息非常清楚。你有多个地方的mysql gem。一个在顶部,一个来自案例陈述
答案 2 :(得分:1)
当您循环浏览mysql
中的adapters
时,似乎包含Gemfile
gem。从Gemfile
gem "rake", "0.8.7"
gem "rack", "1.4.5"
gem "i18n", "0.6.4"
gem "rubytree", "0.5.2", :require => "tree"
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
gem "mysql" # <---------------- Remove this line.