Rails,Ruby 1.9.3p0和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
一些gem:
***当地gem*** 动作管理员(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) 建设者(3.0.0) 捆绑(1.0.21) 代码(0.9.7) 列(0.3.5) edavis10-object_daddy(0.4.3) erubis(2.7.0) fastercsv(1.5.0) ffi(1.0.11) 徒步旅行(1.2.1) 锄头(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) 邮件(2.3.0) 元类(0.0.1) 哑剧型(1.17.2) minitest(2.5.1) 摩卡(0.10.0) multi_json(1.0.4) mysql(2.8.1) mysql2(0.3.11,0.2.7) net-ldap(0.2.2) 多语言(0.3.3) 机架(1.3.5,1.1.2) rack-cache(1.1) 机架式(0.8.3) rack-ssl(1.3.2) 机架测试(0.6.1) 铁轨(3.1.3,2.3.14) 铁路(3.1.3) 耙子(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) 链轮(2.0.3) sqlite3(1.3.5,0.1.1) sqlite3-ruby(1.3.3,1.2.5) 托尔(0.14.6) 倾斜(1.3.3) 树梢(1.4.10) tzinfo(0.3.31)
我需要Rails才能运行chiliproject
,但是在运行以下命令时
RAILS_ENV=production bundle exec rake db:migrate
我明白了:
! 捆绑的mysql.rb驱动程序已从Rails 2.2中删除。 请安装mysql gem并再试一次:gem install mysql。 耙子流产了! 无法加载这样的文件 - mysql 任务:TOP => db:migrate => environment (通过使用--trace运行任务来查看完整跟踪)
现在使用--trace
:
RAILS_ENV =生产包exec rake db:migrate --trace >> tmp / rake **调用db:migrate(first_time) **调用环境(first_time) **执行环境 ! 捆绑的mysql.rb驱动程序已从Rails 2.2中删除。 请安装mysql gem并再试一次:gem install mysql。 耙子流产了! 无法加载这样的文件 - mysql /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in`requirement' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in`requirement' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb:7:in,clock 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`clock(2级)结帐时' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in`love' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in`cout 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`recover_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`recover_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`actions_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`requirement' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in`requirement' /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“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`repected_class' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:183:in` observation_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:在'同步'中 /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:inclock 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"valuation_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“阻止运行” /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`requirement' /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`requirement' /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`execu' /usr/local/lib/ruby/1.9.1/rake/task.rb:158:inclock 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`lock 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`lock 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:在`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在top_level中的块(2级) /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`top 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“阻止运行” /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'' 任务: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
。 我发现这一切都非常令人困惑,直到我意识到我混淆了管理gem安装的不同方法。
如果您或其他以这种方式出现问题的人也有同样的问题,那么这可能会有所帮助。 (也许这个糟糕的解释会鼓励其中一位铁路大师为我们详细说明。)
换句话说,本地安装的gem列表与应用程序的gem包中安装的列表不同(因此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 /