【问题标题】:rail servers error? (rails 3) in windows铁路服务器错误? (导轨 3)在 Windows 中
【发布时间】:2012-03-20 00:45:20
【问题描述】:

我使用命令创建了一个新项目:

rails new simple_cms -d mysql

但是当我尝试启动网络服务器时,会发生这种情况:

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>

一些版本信息以防万一:

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)

我已经在网上搜索过解决方案,但没有一个 似乎工作。任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 要格式化输出,编辑您的帖子并在您希望保持不受干扰的每行输出前添加四个空格。也可以选择行并使用编辑器上的花括号按钮。
  • 我格式化了,但我还没有弄清楚“rails server”有什么问题
  • 你的 MySQL/bin 在你的 PATH 变量中吗?
  • @uDay 是的,我想是的,当我从任何目录中键入“mysql --version”时,它会给我“mysql Ver 14.14 Distrib 5.5.21,for Win64 (x86)”但是当我使用“ mysql " 它给了我 "ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)"
  • 它说你没有root用户的密码

标签: mysql ruby-on-rails database ruby-on-rails-3


【解决方案1】:

问题在于运行 mysql2 所需的 .dll 文件不可用,因此无法将其识别为有效的 Win32 应用程序。

the official repository 下载“mysql-connector-c-noinstall-6.0.2”。您可能会被要求注册,但它是免费的。去下载,选择“MySQL Connectors => Connector/C (libmysql)”。

解压缩下载的文件,然后将位于 lib 文件夹中的“libmysql.dll”复制到您的 Ruby/bin 文件夹中。

【讨论】:

    【解决方案2】:

    我曾经在 mac 上的服务器上遇到过类似的问题。我更改了 ruby​​ 的版本,它有所帮助。将 ruby​​ 的版本更改为 1.8.7 并尝试是否有效。

    【讨论】:

    • 嘿,我必须为我安装的每个版本的 ruby​​ 安装导轨吗?我正在使用 pik 在 ruby​​ 版本之间切换。当我切换到 1.8.7 时,rails 命令停止工作“'rails' 不被识别为内部或外部......”
    • 看看这个问题的答案:stackoverflow.com/questions/3608287/…
    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 2012-11-08
    • 2020-07-19
    • 2022-06-14
    相关资源
    最近更新 更多