При запуске Rails 3 RC с Ruby 1.9.2.rc2 под RVM я продолжаю получать очень большое количество ошибок из пакета драйверов MySQL, которые выглядят так:
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant MysqlRes
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant MysqlField
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant MysqlError
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant VERSION
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant OPT_CONNECT_TIMEOUT
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant OPT_COMPRESS
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant OPT_NAMED_PIPE
/opt/local/rvm/gems/ruby-1.9.2-rc2/gems/mysql-2.8.1/lib/mysql_api.bundle: warning: already initialized constant INIT_COMMAND
Это отображается в rails console
и модульные тесты, все, что требует полного стека Rails, но не скрипт, который использует Sequel непосредственно в той же среде.
Хотя сам пакет загружается, а драйвер MySQL работает, эта огромная кучаПредупреждения предисловия все, что проходит через Rails.Обычно это происходит из-за избыточной загрузки гема mysql
где-то в среде Rails.Gem объявлен в Gemfile:
gem 'rails', '3.0.0.rc'
gem 'haml'
gem 'sequel'
gem 'mysqlplus'
gem 'mysql'
Я полагаю, что это автозагрузчик Rails, который не может понять, что библиотека Mysql уже загружена и загружается снова.Есть ли простой способ исправить это?
Обновление:
Загрузка mysql
или mysqlplus
, но не оба одновременно, или вы получите предупреждения, подобныеэтот.mysqlplus
включает в себя все функции mysql
и является зависимостью от Sequel.