[英]Rails, Ruby 1.9.3p0, and mysql gem
我正在運行CentOS6並從源代碼安裝Ruby,以及Rails和其他一些工作人員。
ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
rails -v
Rails 3.1.3
一些寶石:
*** LOCAL GEMS *** actionmailer (3.1.3, 2.3.14) actionpack (3.1.3, 2.3.14) activemodel (3.1.3) activerecord (3.1.3, 2.3.14) activeresource (3.1.3, 2.3.14) activesupport (3.1.3, 2.3.14) archive-tar-minitar (0.5.2) arel (2.2.1) bigdecimal (1.1.0) bouncy-castle-java (1.5.0146.1) builder (3.0.0) bundler (1.0.21) coderay (0.9.7) columnize (0.3.5) edavis10-object_daddy (0.4.3) erubis (2.7.0) fastercsv (1.5.0) ffi (1.0.11) hike (1.2.1) hoe (2.12.4) i18n (0.6.0, 0.4.2) io-console (0.3) jruby-openssl (0.7.4) json (1.5.4) linecache19 (0.5.13) mail (2.3.0) metaclass (0.0.1) mime-types (1.17.2) minitest (2.5.1) mocha (0.10.0) multi_json (1.0.4) mysql (2.8.1) mysql2 (0.3.11, 0.2.7) net-ldap (0.2.2) polyglot (0.3.3) rack (1.3.5, 1.1.2) rack-cache (1.1) rack-mount (0.8.3) rack-ssl (1.3.2) rack-test (0.6.1) rails (3.1.3, 2.3.14) railties (3.1.3) rake (0.9.2.2) rdoc (3.9.4) rmagick (2.13.1) ruby-debug-base19 (0.11.26, 0.11.25) ruby-debug19 (0.11.6) ruby-mysql (2.9.4) ruby-openid (2.1.4) ruby_core_source (0.1.5) rubygems-update (1.8.12) rubytree (0.5.2) shoulda (2.11.3, 2.10.3) sprockets (2.0.3) sqlite3 (1.3.5, 0.1.1) sqlite3-ruby (1.3.3, 1.2.5) thor (0.14.6) tilt (1.3.3) treetop (1.4.10) tzinfo (0.3.31)
我需要Rails才能運行chiliproject
,但是在運行以下命令時
RAILS_ENV=production bundle exec rake db:migrate
我明白了:
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! cannot load such file -- mysql Tasks: TOP => db:migrate => environment (See full trace by running task with --trace)
現在使用--trace
:
RAILS_ENV=production bundle exec rake db:migrate --trace >> tmp/rake ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment !!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! cannot load such file -- mysql /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb:7:in `block in require_library_or_gem' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb:5:in `require_library_or_gem' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb:61:in `mysql_connection' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `block (2 levels) in checkout' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `loop' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `block in checkout' /usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in `checkout' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in `connection' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in `retrieve_connection' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in `connection' /var/www/html/chiliproject/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb:218:in `quoted_left_column_name' /var/www/html/chiliproject/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb:94:in `acts_as_nested_set' /var/www/html/chiliproject/app/models/issue.rb:33:in `' /var/www/html/chiliproject/app/models/issue.rb:15:in `' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:291:in `require_or_load' /var/www/html/chiliproject/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb:133:in `require_or_load_with_engine_additions' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:451:in `load_missing_constant' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:106:in `const_missing_with_dependencies' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:118:in `const_missing' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:375:in `const_get' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:375:in `block in constantize' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:374:in `each' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:374:in `constantize' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/string/inflections.rb:162:in `constantize' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:157:in `observed_class' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:183:in `observed_classes' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:166:in `initialize' /usr/local/lib/ruby/1.9.1/singleton.rb:141:in `new' /usr/local/lib/ruby/1.9.1/singleton.rb:141:in `block in instance' :10:in `synchronize' /usr/local/lib/ruby/1.9.1/singleton.rb:139:in `instance' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:38:in `block in instantiate_observers' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:36:in `each' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:36:in `instantiate_observers' /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:15:in `block in define_dispatcher_callbacks' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:182:in `call' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:182:in `evaluate_method' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:166:in `call' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:90:in `block in run' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:90:in `each' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:90:in `run' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:276:in `run_callbacks' /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:51:in `run_prepare_callbacks' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/initializer.rb:631:in `prepare_dispatcher' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/initializer.rb:185:in `process' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/initializer.rb:113:in `run' /var/www/html/chiliproject/config/environment.rb:39:in `' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `block in require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in `new_constants_in' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `require' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/tasks/misc.rake:4:in `block in ' /usr/local/lib/ruby/1.9.1/rake/task.rb:205:in `call' /usr/local/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute' /usr/local/lib/ruby/1.9.1/rake/task.rb:200:in `each' /usr/local/lib/ruby/1.9.1/rake/task.rb:200:in `execute' /usr/local/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' /usr/local/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites' /usr/local/lib/ruby/1.9.1/rake/task.rb:174:in `each' /usr/local/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites' /usr/local/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' /usr/local/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/rake/task.rb:144:in `invoke' /usr/local/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task' /usr/local/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level' /usr/local/lib/ruby/1.9.1/rake/application.rb:94:in `each' /usr/local/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level' /usr/local/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' /usr/local/lib/ruby/1.9.1/rake/application.rb:88:in `top_level' /usr/local/lib/ruby/1.9.1/rake/application.rb:66:in `block in run' /usr/local/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' /usr/local/lib/ruby/1.9.1/rake/application.rb:63:in `run' /usr/local/bin/rake:32:in `' Tasks: TOP => db:migrate => environment
有誰知道mysql gem文件有什么問題?
我也試過像這樣安裝mysql gem文件
gem install ruby-mysql2 --no-rdoc --no-ri -- --with-mysql-config=/usr/bin/mysql_config
我只是遇到了類似的問題,你可能正在做我的工作:我正在使用'gem list'來確定安裝的內容(它列出*** LOCAL GEMS ***
就像你展示的那樣)並且我看到了mysql
,但是我的項目的Gemfile
不需要bundler
來安裝mysql
。
如果你只是鍵入bundle show
它列出'mysql'? 如果沒有,那么Gemfile
中的chiliproject
不會導致bundler
安裝mysql
。 我發現這一切都非常令人困惑,直到我意識到我混淆了管理寶石安裝的不同方法。
如果你或其他人以這種方式遇到同樣的問題,那么這可能是有幫助的。 (也許這個糟糕的解釋會鼓勵其中一位鐵路大師為我們詳細說明。)
換句話說,本地安裝的寶石列表與應用程序的寶石包中安裝的列表不同(因此bundler
工具的名稱來自bundler
)。 當您運行應用程序並使用bundler
管理其依賴項時,您必須在bundler
范圍內執行所有操作,以確保它們一起工作。 當你這樣做時,它實際上是非常直接的,並為你解決了很多問題,但如果你從以前的經驗中找到沒有使用bundler
應用程序,那么它只需要一點點習慣。
對我有用的2個步驟:
從/libhttp://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick復制文件libmySQL.dll(在文件夾中/ lib /)在c:/ your / path / to / ruby / bin中(確保你的ruby bin在你的系統PATH環境變量中)
使用ruby1.8為MySQL提供了默認設置。 如果您使用MySQL和ruby1.9運行Redmine,請在/config/database.yml文件中用mysql2
替換適配器名稱http://www.redmine.org/issues/10566
只需在捆綁安裝上試試這個>>
bundle install --without=test development sqlite postgres mysql rmagick
這將安裝所有必需的基本依賴項,mysql2數據庫適配器原因mysql適配器與Ruby 1.9不兼容
並且不要忘記更改config / database.yml - > s / mysql / mysql2
\\ O /
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.