在轨道上设置ruby的问题

时间:2010-12-01 20:13:10

标签: ruby-on-rails ruby

我刚开始用“Lynda Ruby on Rails 3 Essential Training”学习ruby on rails。

我完成了安装,并通过编写“rails new app”创建了rails应用程序。 在那之后我写了 - “rails server”,这就是我所看到的:

C:\Users\Oded\sites\simple_cms>rails server
C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/mysql2.r
b:2:in `require': 193: %1 is not a valid Win32 application.   - C:/Ruby192/lib/r
uby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/mysql2/1.9/mysql2.so (LoadError
)
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/my
sql2/mysql2.rb:2:in `<top (required)>'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/my
sql2.rb:7:in `require'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/my
sql2.rb:7:in `<top (required)>'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/runti
me.rb:64:in `require'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/runti
me.rb:64:in `block (2 levels) in require'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/runti
me.rb:62:in `each'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/runti
me.rb:62:in `block in require'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/runti
me.rb:51:in `each'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/runti
me.rb:51:in `require'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler.rb:11
2:in `require'
        from C:/Users/Oded/sites/simple_cms/config/application.rb:7:in `<top (re
quired)>'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/comman
ds.rb:28:in `require'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/comman
ds.rb:28:in `block in <top (required)>'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/comman
ds.rb:27:in `tap'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/comman
ds.rb:27:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

你能帮我找到解决方案吗?

节日快乐,

乌迪德

2 个答案:

答案 0 :(得分:0)

看起来你错过了一些宝石!尝试运行bundle install ...然后一切都应该有效。

编辑:确保您的Gemfile包含

gem 'mysql'

在运行bundle install之前。 Bundler将为您设置mysql,依赖项和所有。

答案 1 :(得分:0)

您必须访问此网站并按照说明进行操作...

http://blog.mmediasys.com/2011/07/07/installing-mysql-on-windows-7-x64-and-using-ruby-with-it/

或者简单地从mysql或镜像站点下载文章中提到的连接器

运行此命令:

gem install mysql --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32

确保您拥有没有空格的mysql连接器文件夹的正确路径!!

完成此操作后,请确保从解压缩并下载的连接器库中复制 libmysql.dll 文件,并将其放在Ruby \ bin文件中。

之后删除连接器库并通过键入“rails server”启动它,确保您的gem文件包含行gem 'mysql'gem 'mysql2'我不确定哪一个如此尝试。它很糟糕,他们确实需要为Windows修复此问题。