【问题标题】:Installing Mysql gem on Ruby on Rails Windows 7 64x在 Ruby on Rails Windows 7 64x 上安装 Mysql gem
【发布时间】:2014-08-29 21:45:42
【问题描述】:

我一直在互联网上寻找答案,但没有一个解决方案有帮助。我只看到有关此的过时信息。简而言之,我刚开始尝试自学如何使用 Ruby on Rails,但为了安装 mysql gem,我已经坚持了 6 个小时。这就是我尝试时会发生的情况

C:\Users\user>gem install mysql
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

C:/Ruby200-x64/bin/ruby.exe extconf.rb
 checking for main() in -llibmysql... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
 libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
     --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Ruby200-x64/bin/ruby
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/
    --with-libmysqllib
    --without-libmysqllib


 Gem files will remain installed in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql
  -2.9.1 for inspection.
Results logged to C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql-2.9.1/ext/mysql_
api/gem_make.out

现在,我尝试使用 opt 重定向路径,并且我遇到了困难但乐观的所有事情。我听说 64x 上的 RoR 很麻烦,但我坚持下去。感谢您的帮助!

【问题讨论】:

  • 免去您的头痛。通过虚拟机在 Linux 上进行开发。当您将应用程序部署到肯定是 Linux 而不是 OS X 或 Windows 的服务器时,这也是必不可少的体验。
  • 这实际上可能是最好的选择。因为我认为我浪费了一天的时间来试图让这件事运行起来。
  • 不,不需要在Linux上开发。我们使用 Windows,虽然它可能很困难,但它和 Linux 一样灵活
  • 没有人说你需要在 Linux 上开发,但你在 Windows 上开发 Rails 是少数,因此很难找到支持。不仅如此,熟悉 Linux 对部署至关重要,那么为什么不让自己先行一步呢?

标签: mysql ruby-on-rails ruby


【解决方案1】:

MYSQL2

首先,我强烈推荐使用mysql2 gem - 它为您提供颜色并且通常比标准mysql gem 运行得更快。

不幸的是,在 Windows 上安装任何一个都有它的麻烦 - 主要是因为 Windows 默认没有安装 MYSQL 头文件


修复

我们已经写了一篇关于这个here的教程

基本上,您必须执行以下操作:

  1. 在本地安装 MYSQL C-Connector 标头(无空格)
  2. 使用正确的引用安装 MYSQL2 gem
  3. 将 libmysql.dll 从 MYSQL C-Connector 文件夹复制到 ruby​​ 文件夹

您需要先下载32位版本的MYSQL C-Connector:

这允许您安装 MYSQL gem 的相关头文件,这主要是为什么 gem 无法安装。您必须安装此路径中不得包含任何空格

其次,您需要安装引用 MYSQL C-Connector 路径的 gem:

gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:\mysql-connector-path"'

应该为你安装 gem。如果是这样,请从您的 MYSQL C-Connector bin 文件夹中复制 libmysql.dll 并粘贴到您的 Ruby bin 文件夹中:

【讨论】:

  • 这不管用还是同样的问题。我安装到 c: 并引用了它,但它仍然出现了问题。
【解决方案2】:

您运行了gem 命令,那么您是真的要安装 MySQL 还是要安装 mysql gem,这是一个可以与 MySQL 数据库通信的 Ruby 库? p>

如果你想安装 mysql gem,你可能应该查看 mysql2 gem 来代替;这似乎是现在每个人都在使用的东西。我还建议您编辑问题以明确说明您正在尝试安装 mysql gem 而不是 MySQL 本身。

如果你想安装MySQL(数据库本身),请注意它不是gem,所以不能用gem 命令安装。您需要从MySQL.com 找到 Windows 的安装说明。

我认为大多数 Rails 开发人员使用 Linux 或 Mac OS X,因此在 Windows 中进行开发可能会让人头疼。我建议您使用 VirtualBox 制作一个 Ubuntu(或您熟悉的其他 Linux 风格)虚拟机,并在虚拟机中进行 Rails 开发。

【讨论】:

  • 我会检查一下,我也会更改问题的措辞。我也尝试使用'gem install mysql2',它基本上是同样的错误。我想我可能只需要通过一个虚拟机,我相信这将是另一个自己的野兽。
  • *无法改写问题,但希望人们会为失态感到抱歉
猜你喜欢
  • 2015-08-02
  • 2012-09-02
  • 2012-02-11
  • 2013-10-01
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2019-08-31
相关资源
最近更新 更多