运行"WEbr​​ick"的一些问题

ain*_*t73 3 ruby ruby-on-rails webrick ruby-on-rails-3 ruby-on-rails-3.1

我在Windows 7上安装ruby 1.9.2p290(使用rubyInstaller)并将MySQL连接到它(我检查它并且它工作)我安装了rails然后我创建了一个项目

"C:\用户\ Amiref \文件\网站\ simple_cms"

使用此命令:"rails new simple_cms -d mysql"然后当我使用"rails server"运行webrick时,我在命令提示符下看到了这个错误:

"rails.bat :
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2:in
`require': Incorrect MySQL client library version! This gem was compile
d for 6.0.0 but the client library is 5.1.45. (RuntimeError)
At line:1 char:6
+ rails <<<<  server
+ CategoryInfo          : NotSpecified: (C:/Ruby192/lib/...
(RuntimeError):String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError

from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2:in
`<top (required)>'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9:in
`require'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9:in
`<top (required)>'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in
`require'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in
`block (2 levels) in require'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in
`each'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in
`block in require'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in
`each'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in
`require'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler.rb:122:in
`require'
from
C:/Users/Amiref/Documents/Sites/simple_cms/config/application.rb:7:in
`<top (required)>'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:52:in
`require'
 from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:52:in
`block in <top (required)>'
 from
 C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in
 `tap'
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:49:in
`<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
"
Run Code Online (Sandbox Code Playgroud)

小智 12

最新的rails或ruby使用mysql-connector-c-6(libmysql.dll)编译mysql2-0.3.11-x86-mingw32,所以你应该使用6客户端dll.

有一种简单的方法让RailsInstaller(Ruby1.9.2)使用mysql-connector-c-6:

  1. 下载mysql-connector-c-noinstall-6.0.2-win32.zip
  2. 将mysql-connector-c-noinstall-6.0.2-win32.zip和copu mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll解压缩到RailsInstaller\Ruby1.9.2\bin

然后运行rails服务器,一切正常.