从一台服务器移到另一台服务器时,遇到了redmine(或者rubyconfiguration)的麻烦
redmine@dirty:~/www$ ruby script/rails server webrick -e production /usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require': Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.59. (RuntimeError) from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `each' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `block in require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `each' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler.rb:131:in `require' from /home/redmine/redmine-2.4/config/application.rb:7:in `<top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `require' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `block in <top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in `tap' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>'
我使用mysql2适配器(因为我明白,coz mysql不能在数据库中使用utf8文本)
附加信息:
redmine@d:~/www$ gem env RubyGems Environment: - RUBYGEMS VERSION: 2.2.1 - RUBY VERSION: 2.0.0 (2013-11-22 patchlevel 353) [x86_64-linux] - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.0.0-p353 - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/ruby - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.0.0-p353/bin - SPEC CACHE DIRECTORY: /home/redmine/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /usr/local/rvm/gems/ruby-2.0.0-p353 - /usr/local/rvm/gems/ruby-2.0.0-p353@global - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - /usr/local/rvm/gems/ruby-2.0.0-p353/bin - /usr/local/rvm/gems/ruby-2.0.0-p353@global/bin root@d:/usr/local/rvm# aptitude search '~imysql' i libmysqlclient-dev - Percona Server database development files i A libmysqlclient16 - MySQL database client library i A libmysqlclient18 - Percona Server database client library i php5-mysql - MySQL module for php5 redmine@d:~/www$ svn info Path: . URL: http://svn.redmine.org/redmine/branches/2.4-stable Repository Root: http://svn.redmine.org/redmine
我已经重新安装了gem,捆绑,甚至包装,但仍然没有成功。
UPD( 迈克尔·汉普顿的build议♦ ):
redmine@d:~/www$ gem pristine --all Restoring gems to pristine condition... Restored actionmailer-3.2.16 Restored actionpack-3.2.16 Restored activemodel-3.2.16 Restored activerecord-3.2.16 Restored activeresource-3.2.16 Restored activesupport-3.2.16 Restored arel-3.0.3 Skipped bigdecimal-1.2.0, it is a default gem Restored builder-3.2.2 Restored builder-3.0.0 Restored bundler-1.5.2 Restored bundler-unload-1.0.2 Restored coderay-1.1.0 Restored daemons-1.1.9 Restored erubis-2.7.0 Building native extensions. This could take a while... /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/ext/builder.rb:73: warning: Insecure world writable dir /usr/local/rvm/gems/ruby-2.0.0-p353@global/bin in PATH, mode 040777 Restored eventmachine-1.0.3 Building native extensions. This could take a while... Restored gem-wrappers-1.2.3 Restored hike-1.2.3 Restored i18n-0.6.9 Skipped io-console-0.4.2, it is a default gem Restored journey-1.0.4 Restored jquery-rails-2.0.3 Building native extensions with: '' This could take a while... Restored json-1.8.1 Skipped json-1.7.7, it is a default gem Restored mail-2.5.4 Restored mime-types-1.25.1 Skipped minitest-4.3.2, it is a default gem Restored multi_json-1.8.4 Building native extensions with: '' This could take a while... Restored mysql-2.8.1 Building native extensions with: '' This could take a while... Restored mysql2-0.3.14 Restored net-ldap-0.3.1 Restored polyglot-0.3.3 Skipped psych-2.0.0, it is a default gem Restored rack-1.4.5 Restored rack-cache-1.2 Restored rack-openid-1.4.1 Restored rack-ssl-1.3.3 Restored rack-test-0.6.2 Restored rails-3.2.16 Restored railties-3.2.16 Restored rake-10.1.1 Skipped rake-0.9.6, it is a default gem Skipped rdoc-4.0.0, it is a default gem Depending on your version of ruby, you may need to install ruby rdoc/ri data: <= 1.8.6 : unsupported = 1.8.7 : gem install rdoc-data; rdoc-data --install = 1.9.1 : gem install rdoc-data; rdoc-data --install >= 1.9.2 : nothing to do! Yay! Restored rdoc-3.12.2 Building native extensions with: '' This could take a while... Restored rmagick-2.13.2 Restored ruby-openid-2.3.0 Restored rubygems-bundler-1.4.2 Restored rvm-1.11.3.8 Restored sprockets-2.2.2 Skipped test-unit-2.0.0.0, it is a default gem Building native extensions. This could take a while... Restored thin-1.6.1 Restored thor-0.18.1 Restored tilt-1.4.1 Restored treetop-1.4.15 Restored tzinfo-0.3.38 redmine@d:~/www$ ruby script/rails server webrick -e production /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:220: warning: Insecure world writable dir /usr/local/rvm/gems/ruby-2.0.0-p353@global/bin in PATH, mode 040777 /usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require': Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.59. (RuntimeError) from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `each' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `block in require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `each' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `require' from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler.rb:131:in `require' from /home/redmine/redmine-2.4/config/application.rb:7:in `<top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `require' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `block in <top (required)>' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in `tap' from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>'
UPD2:
在旧的系统上,我使用ruby软件包,在新的Ubuntu的服务器11.10 – ruby由rvm提供
您正在使用本机扩展的gem,但它们是针对源系统上的目标系统上具有不同版本的库进行编译的。
所以你需要在目标系统上重build你的gem。
rvm use 2.0.0-p353 gem pristine --all
在将来,如果你只是部署你的源代码,并让bundler处理目标系统上的gem,而不是试图复制你的整个.rvm目录,那将会更好。