【问题标题】:Can't install mysql2 for rails 3 on Windows无法在 Windows 上为 rails 3 安装 mysql2
【发布时间】:2011-04-29 20:16:48
【问题描述】:

如果没有错误消息,无法安装 mysql2。我已经尝试了所有我能想到的方法,包括使用 devkit。

gem install mysql2 -- --with-mysql-include=c:/xampp/mysql/inclu
de --with-mysql-lib=c:/xampp/mysql/lib --with-mysql-config=c:/xampp/mysql/bin/my
sql_config

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

C:/RailsInstaller/Ruby192/bin/ruby.exe extconf.rb --with-mysql-include=c:/xampp/
mysql/include --with-mysql-lib=c:/xampp/mysql/lib --with-mysql-config=c:/xampp/m
ysql/bin/mysql_config
checking for rb_thread_blocking_region()... yes
checking for main() in -llibmysql... no
*** extconf.rb failed ***

确保您的库指向 /lib/opt 而不仅仅是 /lib

【问题讨论】:

  • 你应该把你的问题变成一个真正的问题,如果你自己回答了,那就冒险吧:先提问,然后单独回答。
  • 请不要在问题标题中使用[solved] 之类的伪标签。如果您已经解决了自己的问题,请将解决方案作为答案发布,然后将其标记为已接受。

标签: mysql ruby-on-rails ruby rubygems


【解决方案1】:

在 Windows 上使用 MySQL 和 Rails 3

  • 安装 railsinstaller -> www.railsinstaller.org(我安装到 c:\Rails)

  • 安装 MySQL(我使用 MySQL 5.5)-> dev.mysql.com/downloads/installer/

--- 用于 mySQL 安装 ---

如果您还没有安装这两个文件,您可能需要它们来启动您的 MySQL

vcredist_x86.exe -> http://www.microsoft.com/download/en/details.aspx?id=5555 dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/en/details.aspx?id=17718

使用默认安装 开发者机器

-MySQL 服务器配置-
端口:3306
Windows 服务名称:MySQL55
mysql root pass:root(你可以稍后更改)
(用户名:root)
-MySQL 服务器配置-

--- 用于 mySQL 安装 ---


--- 安装 mysql2 Gem ---

重要提示:使用 Git Bash 命令行执行此操作(使用 railsinstaller 安装)-> start/Git Bash

gem install mysql2 -- '--with -mysql-lib="c:\Program Files\MySQL\MySQL Server 5.5\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.5\include"'我>

现在 gem 应该已经正确安装了

最后从
复制 libmysql.dll 文件 C:\Program Files\MySQL\MySQL 服务器 5.5\lib

C:\Rails\Ruby1.9.2\bin

--- 安装 mysql2 Gem ---


如果您不确定如何使用 MySQL 读取创建 Rails 3 应用程序,您现在可以将 Rails 应用程序与 MySQL 一起使用...


--- 获取一个使用 MySQL 的 Rails 3 应用程序 ---

打开命令提示符(不是 Git Bash)-> start/cmd
导航到您的文件夹 (c:\Sites)
创建新的 Rails 应用

rails new world

删除文件 c:\Sites\world\public\index.html
编辑文件 c:\Sites\world\config\routes.rb
添加这一行 -> root :to => 'cities#index'

打开命令提示符(生成视图和控制器)

rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer



编辑文件 c:\Sites\world\app\models\city.rb 使其看起来像这样

class City < ActiveRecord::Base
 set_table_name "city"
end

编辑文件 c:\Sites\world\config\database.yml 使其看起来像这样

development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock

打开 命令提示符 windows cmd,而不是 Git Bash(运行您的应用!)
导航到您的应用文件夹 (c:\Sites\world)

rails s

在此处打开您的浏览器 -> http://localhost:3000

--- 获取一个使用 MySQL 的 Rails 3 应用 ---

【讨论】:

  • Gooooooooooooooooooooooooood 答案。
  • 谢谢!我在 Windows 安装上苦苦挣扎了一段时间 :) git bash 对我来说是关键
【解决方案2】:

这是对我有用的命令,请确保您使用的是 1.7.3 的完整版本

gem install -v=0.2.7 mysql2 -- --with-mysql-include=C:\xampp\mysql\include --with-mysql-lib=C:\xampp\mysql\lib\opt --with-mysql-config=c:\xampp\mysql\bin\mysql_config 

【讨论】:

  • 这对我不起作用,即使我拥有完整版 1.7.4。安装,但我根本没有那些文件夹
  • 它仅适用于 v1.7.3。在 v1.7.4 上,它没有这些文件夹。这就是为什么我降级到 v1.7.3
【解决方案3】:

只是想我会为后代更新这个。使用适用于 Windows 的最新版本的 Rails 安装程序(截至本文发布之日)并使用 Win 7,我碰巧在这里安装了 xampp,这是我的过程。首先运行并安装 rails 安装程序。现在安装我做的mysql gem...

C:\Sites>gem install mysql2 -v 0.3.16 --platform=ruby -- --with-mysql-dir=C:\xam
pp\mysql

请注意,在我的配置中,我正在运行 xampp,因此我将 C:\xampp\mysql 作为 mysql 目录路径传递。

接下来将 libmysql.dll 从 C:\xampp\mysql\lib 复制到 C:\RailsInstaller\Ruby1.9.3\bin。现在所有与 Rails 相关的数据库都为您“工作”。例如用 mysql 创建一个新的 rails 应用...

rails new the_next_facebook -d mysql

...您应该已经设置了默认的 config/database.yml 文件以使用 mysql。只需确保您的用户名/密码正常

【讨论】:

    猜你喜欢
    • 2011-07-19
    • 2017-09-17
    • 2014-02-03
    • 2021-12-23
    • 2015-04-25
    • 2011-05-16
    • 2017-01-29
    相关资源
    最近更新 更多