2013-05-16 3 views
2

Я уже давно пытаюсь использовать SQL с Ruby on Rails и не могу заставить его работать.Ошибка загрузки - с использованием MySQL с Ruby on Rails

Я в значительной степени отказался от SQLite, поэтому теперь я сосредоточен на MySQL. Я полностью установил программу, и она работает сама по себе. Однако я не могу заставить его работать с Ruby on Rails.

Ниже приведено сообщение, когда я начинаю новый проект и выбираю MySQL как базу данных.

C:\rails_projects>rails new first2_app -d mysql 
     create 
     create README.rdoc 
     create Rakefile 
     create config.ru 
     create .gitignore 
     create Gemfile 
     create app 
     create app/assets/images/rails.png 
     create app/assets/javascripts/application.js 
     create app/assets/stylesheets/application.css 
     create app/controllers/application_controller.rb 
     create app/helpers/application_helper.rb 
     create app/views/layouts/application.html.erb 
     create app/mailers/.gitkeep 
     create app/models/.gitkeep 
     create config 
     create config/routes.rb 
     create config/application.rb 
     create config/environment.rb 
     create config/environments 
     create config/environments/development.rb 
     create config/environments/production.rb 
     create config/environments/test.rb 
     create config/initializers 
     create config/initializers/backtrace_silencers.rb 
     create config/initializers/inflections.rb 
     create config/initializers/mime_types.rb 
     create config/initializers/secret_token.rb 
     create config/initializers/session_store.rb 
     create config/initializers/wrap_parameters.rb 
     create config/locales 
     create config/locales/en.yml 
     create config/boot.rb 
     create config/database.yml 
     create db 
     create db/seeds.rb 
     create doc 
     create doc/README_FOR_APP 
     create lib 
     create lib/tasks 
     create lib/tasks/.gitkeep 
     create lib/assets 
     create lib/assets/.gitkeep 
     create log 
     create log/.gitkeep 
     create public 
     create public/404.html 
     create public/422.html 
     create public/500.html 
     create public/favicon.ico 
     create public/index.html 
     create public/robots.txt 
     create script 
     create script/rails 
     create test/fixtures 
     create test/fixtures/.gitkeep 
     create test/functional 
     create test/functional/.gitkeep 
     create test/integration 
     create test/integration/.gitkeep 
     create test/unit 
     create test/unit/.gitkeep 
     create test/performance/browsing_test.rb 
     create test/test_helper.rb 
     create tmp/cache 
     create tmp/cache/assets 
     create vendor/assets/javascripts 
     create vendor/assets/javascripts/.gitkeep 
     create vendor/assets/stylesheets 
     create vendor/assets/stylesheets/.gitkeep 
     create vendor/plugins 
     create vendor/plugins/.gitkeep 
     run bundle install 
Fetching gem metadata from https://rubygems.org/........... 
Fetching gem metadata from https://rubygems.org/.. 
Resolving dependencies... 
Using rake (10.0.4) 
Using i18n (0.6.1) 
Installing multi_json (1.7.3) 
Using activesupport (3.2.13) 
Using builder (3.0.4) 
Using activemodel (3.2.13) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.2) 
Installing tilt (1.4.1) 
Using sprockets (2.2.2) 
Using actionpack (3.2.13) 
Using mime-types (1.23) 
Using polyglot (0.3.3) 
Using treetop (1.4.12) 
Installing mail (2.5.4) 
Using actionmailer (3.2.13) 
Using arel (3.0.2) 
Using tzinfo (0.3.37) 
Using activerecord (3.2.13) 
Using activeresource (3.2.13) 
Using bundler (1.3.5) 
Using coffee-script-source (1.6.2) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.3) 
Installing json (1.8.0) 
Using rdoc (3.12.2) 
Using thor (0.18.1) 
Using railties (3.2.13) 
Using coffee-rails (3.2.2) 
Using jquery-rails (2.2.1) 
Installing mysql2 (0.3.11) 
Using rails (3.2.13) 
Installing sass (3.2.9) 
Using sass-rails (3.2.6) 
Installing uglifier (2.1.0) 
Your bundle is complete! 
Use `bundle show [gemname]` to see where a bundled gem is installed. 
Post-install message from mysql2: 

================================================================================ 
====================== 

    You've installed the binary version of mysql2. 
    It was built using MySQL Connector/C version 6.0.2. 
    It's recommended to use the exact same version to avoid potential issues. 

    At the time of building this gem, the necessary DLL files where available 
    in the following download: 

    http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0 
.2-win32.zip/from/pick 

    And put lib\libmysql.dll file in your Ruby bin directory, for example C:\Ruby\ 
bin 

================================================================================ 
====================== 

Однако, когда я перехожу работать сервер рельсы, я получаю следующее сообщение об ошибке:

C:\rails_projects\first2_app>rails server 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2: 
in `require': cannot load such file -- mysql2/2.0/mysql2 (LoadError)   

    from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2: 
in `<top (required)>' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9: 
in `require' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9: 
in `<top (required)>' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72: 
in `require' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72: 
in `block (2 levels) in require' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70: 
in `each' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70: 
in `block in require' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59: 
in `each' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59: 
in `require' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132: 
in `require' 
     from C:/rails_projects/first2_app/config/application.rb:7: 
in `<top (required)>' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:53: 
in `require' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:53: 
in `block in <top (required)>' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:50: 
in `tap' 
     from C:/Ruby200/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:50: 
in `<top (required)>' 
     from script/rails:6:in `require' 
     from script/rails:6:in `<main>' 

Я попробовал почти все, что я наткнулась в смежных StackExchange вопросов/ответов, включая RubyVersionManager, DevKit, перемещение различных файлов DLL и .A в C/Ruby/Bin и т. д., но без большой удачи.

Любой совет будет очень благодарен! Я действительно хочу, чтобы начать программирование с Ruby On Rails и ненавижу, что я застрял в дверях ....

Приветствия = D

UPDATE 1: (Покушение на Linux среде)

Здравствуйте , консенсус, похоже, пытается работать в Linux.

Так что я следовал инструкциям этого парня по использованию Cygwin>http://youtu.be/hwo3Eda_ev0

И все идет хорошо до сих пор =)

+0

Я не знаю много о Ruby on Rails в Windows, но вы пробовали пост-установленное сообщение gem mysql2? В любом случае, если вы новичок в RoR, я рекомендую вам попробовать Linux, это очень просто, и в будущем у вас будет меньше головных болей :). – Pigueiras

+0

полностью согласен с @Pigueiras, не следует использовать Rails в Windows. Я сам являюсь пользователем Windows, но разрабатываю рельсы в Mac на работе и в VM дома – kasperite

+0

На данный момент готов попробовать что угодно. Я отправлю назад о прогрессе с использованием Linux –

ответ

2

Решение:

Чтобы скачать молнию в http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick и скопировать libmysql .dll оттуда в ваш рубиновый каталог (C:/Ruby200/bin). Тогда должен работать доступ к MySQL из приложения Rails.

+0

Возможно, это может вам помочь: http://stackoverflow.com/questions/15604058/error-cannot-load-such-file-mysql2-2-0-mysql2-loaderror-on- windows-xp –

+0

Привет, Виктор, я сделал это без успеха. Я также попробовал все предложения, которые люди дали в ссылке, которую вы поделили «по строкам» и до сих пор не успели = ( –