【问题标题】:How to use "mysql2" gem in Rails 3 application on Windows 7?如何在 Windows 7 上的 Rails 3 应用程序中使用“mysql2”gem?
【发布时间】:2011-04-25 05:04:20
【问题描述】:

我尝试在 Windows 7 32 位上安装 mysql2 gem。

我跑:

gem install mysql2

我收到以下错误:

ERROR:  Error installing mysql2:
        The 'mysql2' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

任何想法可能导致此错误,以及如何解决此问题?


更新

我按照here 的描述做了所有事情,但我不知道最后一步:

gem install mysql2 -- 
     '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.1\lib\opt" 
      --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.1\include"'

我知道我应该将路径更改为系统中的正确路径,但我在 WAMP MySQL 安装中找不到 lib\optinclude 目录。我使用 WAMP 2.1。

请指教。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 windows-7 wamp mysql2


    【解决方案1】:

    对于任何有兴趣的人来说,这是一个合适的解决方案,它不会弄乱您当前的 mysql 服务器安装 -

    编辑:确保在 MySQL 服务器上下载正确的版本。 :

    如果您打算连接到 6.0 或 5.5 服务器 - 下载这些二进制文件。我正在连接到 mysql 5.1 - 因此我的示例。还要记住最新的 mysql2 gem (v 0.3.7) 是针对 mysql server 6 进行测试的 - 因此它一直无法在早期版本的 windows 上构建。还要确保在 ruby​​ 文件夹中使用正确的 libmysql.dll。

    1. 使用 mysql server 5.1 而不是 msi 下载一个 zip 文件。确保它是 32 位而不是 64 位。 (From here)

    2. 由于没有安装程序文件,请创建一个文件夹 c:\mysql-gem-install - 完成后可以将其删除。

    3. 将 zip 文件中的所有文件解压到您刚刚创建的文件夹中。

    4. 现在运行这个命令

       gem install mysql2 --  '--with-mysql-lib="c:\mysql-gem-install\lib\opt"  --with-mysql-include="c:\mysql-gem-install\include"'
      

    我刚刚安装了 mysql2 gem v. 0.3.7

    编辑 1 还有一件事:确保直接在命令提示符中运行命令。如不是 PowerShell 或 Consol2 - 出于某种原因,如果你尝试它会给你和错误“无效选项” - 与方式有关 - 被解析。

    编辑 2 我只是在进行空白的 Windows 7 安装,我遇到的一件事是您需要再添加一个步骤:检查您的 ruby​​ bin 目录中是否有 libmysql.dll,如果没有从您的 mysql 复制一个安装。它应该与您的 mysql2 构建版本相同。

    【讨论】:

    • 在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往会被社区标记为“垃圾邮件”。
    • 已编译但不知道如何包含在 GemFile 中
    • NM 使用了错误文件中的bundle update。我知道现在就包含它。
    • 感谢您指出不要使用 PowerShell。我一直在得到无效的选项。在标准 cmd 上工作。
    • 这是迄今为止这个问题的最佳答案,为我节省了很多时间。如果您使用的是 MySQL 5.5,请使用 --with-mysql-lib="c:\mysql-gem-install\lib" 因为该安装中没有 opt 目录。我用它来安装 mysql2 gem 的 0.3.14 版本没有问题。
    【解决方案2】:

    谢谢!注意:我还必须包含 --platform=ruby 选项。因此,最终的整个命令行是:

    gem install mysql2 --platform=ruby -- '--with-mysql-lib="c:\mysql-gem-install\lib\opt" --with-mysql-include="c:\mysql-gem-install\include"'

    当我在没有 platform=ruby 选项的情况下尝试它时,DevKit 没有运行,它只是安装了普通的 mysql2 gem - 它甚至给出了一个关于 mysql2 正在为 6.0.2 构建的警告消息。我卸载了它(gem uninstall mysql2),然后用 --platform=ruby 再次运行它,效果很棒!

    我:Windows 7 64 位、Ruby 1.9.3p125、Rails 3.2.1、MySQL 5.1.56

    【讨论】:

    • 仅供参考:在我进行捆绑更新的那一刻,捆绑器安装了现有的 mysql2 gem 并开始在我的应用程序中使用它。这是让事情再次正常工作的过程:1)gem卸载mysql2,选择ALL。 2)再次运行 gem 安装代码(我的上一篇文章,上面)。完成。
    • 这对我有用。要注意的另一件事是从上面的链接下载“免安装”zip 文件。对我来说是“mysql-no-install-5.1.62-win32.zip”。
    【解决方案3】:

    好吧,我并不真正使用 Windows,但是从“http://rubyinstaller.org/downloads”下载 DevKit 并按照“http://github.com/oneclick/rubyinstaller/wiki”上的说明进行操作怎么样? /开发工具包?

    【讨论】:

    • 之前我在Windows XP上安装mysql2的时候没有这个问题。所以我想知道Windows 7上的安装是否应该如此复杂。这是暂时的解决方法吗?
    • 这可能是因为您事先在 winxp 上安装了 devkit。这对于它的工作是必不可少的。这不是临时解决方案,而是您必须做的事情才能让它发挥作用。
    • SpyrosP 的回答会让你继续前进。我最近使用 ruby​​installer 和 DevKit 让 RoR 3 与 Ruby 1.9.2 和 MySql 运行没有问题。请务必严格遵守 devkit 说明。
    • @nathan:你用过mysqlmysql2吗?
    • @nathan:另外,我按照说明使用,安装测试顺利通过!
    【解决方案4】:

    从 apachefriends.org 试用 XAMPP,一定要下载完整版,你会发现“lib”、“bin”、“include”和其他 MySQL 目录。更多详情,请参阅 -

    http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

    【讨论】:

      【解决方案5】:

      你应该再次执行安装文件,并选择修改选项,然后检查开发者组件。完成后,你会发现包含文件夹和选择文件夹。

      【讨论】:

      • 我在 WAMP 的安装目录中看不到任何安装文件。 “设置文件”是什么意思?
      【解决方案6】:

      并非所有 mysql2 版本都带有 windows 二进制文件。

      在 Windows 上安装 gem mysql2 的最简单方法是选择包含 win 二进制文件的版本。

      Link to list of versions

      选择包含“x86-mingw32”的最新版本号

      例如 0.3.11

      要安装它:

      gem install mysql2 -v 0.3.11
      

      或在 gemfile 中:

      gem „mysql2“, „0.3.11“
      

      【讨论】:

        猜你喜欢
        • 2013-10-01
        • 2011-07-19
        • 1970-01-01
        • 2011-05-16
        • 2011-09-16
        • 2014-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多