1

I created a new project using the command:

rails new simple_cms -d mysql

but when I try to launch the web server, this happens:

C:\Users\johnny\Sites\simple_cms>rails server
C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2:in `require': 193: %1 is not a valid Win32 application.   - C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/1.9/mysql2.so (LoadError)
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2:in `<top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9:in `<top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler/runtime.rb:68:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler/runtime.rb:66:in `each'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler/runtime.rb:66:in `block in require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in `each'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.1.1/lib/bundler.rb:119:in `require'
    from C:/Users/johnny/Sites/simple_cms/config/application.rb:7:in `<top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `block in <top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `tap'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

C:\Users\johnny\Sites\simple_cms>

Some version info just in case:

C:\Users\j\Sites\simple_cms>ruby -v
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]

C:\Users\j\Sites\simple_cms>ruby -v
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]

C:\Users\j\Sites\simple_cms>mysql --version
mysql  Ver 14.14 Distrib 5.5.21, for Win64 (x86)

I've already searched the web looking for solutions, but none of them seem to work. Any help would be greatly appreciated, thank you.

anonymous
  • 11
  • 2
  • To format the output, edit your post and add four spaces in front of each line of output you would like to remain unmolested. It might also be possible to select the lines and use the curly-braces button on the editor. – Tom Harrison Mar 20 '12 at 00:54
  • I formatted it, but I still havent figured out what's wrong with "rails server" – anonymous Mar 20 '12 at 01:52
  • is your MySQL/bin there in your PATH variable? – uday Mar 20 '12 at 03:51
  • @uDay yea i think so, when I type "mysql --version" from any directory it gives me "mysql Ver 14.14 Distrib 5.5.21, for Win64 (x86)" but when I use "mysql " it gives me "ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)" – anonymous Mar 20 '12 at 13:05
  • it says you dont have the password for the root user – uday Mar 20 '12 at 15:20

2 Answers2

1

The problem is that the .dll file required to run mysql2 is not available, and, as a result, it does not recognize it as a valid Win32 application.

Download the "mysql-connector-c-noinstall-6.0.2" from the official repository. You may be asked to register, but it's free. Go to downloads, select "MySQL Connectors => Connector/C (libmysql)".

Unzip the downloaded file, then copy "libmysql.dll", located in the lib folder, to your Ruby/bin folder.

the Tin Man
  • 158,662
  • 42
  • 215
  • 303
sibenye
  • 21
  • 3
0

I had similar issues once with my server on mac. I changed the version of ruby and it helped. Change the version of ruby to 1.8.7 and try if it works.

Maddy
  • 1,233
  • 2
  • 12
  • 20
  • Hey, do I have to gem install rails for every version of ruby i have installed? I'm using pik to switch between ruby versions. When I switched to 1.8.7, the rails command stopped working "'rails' is not recognized as an internal or external..." – anonymous Mar 20 '12 at 03:32
  • Take a look at the answers for this Question:http://stackoverflow.com/questions/3608287/installing-mysql2-gem-for-rails-3 – Maddy Mar 20 '12 at 03:49