安装mysql2时出错:无法构建gem本机扩展

我在尝试为Rails安装mysql2 gem时遇到了一些问题。 当我尝试通过运行bundle installgem install mysql2来安装它时,它给我提供了以下错误:

安装mysql2时出错:错误:无法构建gem本机扩展。

我该如何解决这个问题并成功安装mysql2


在Ubuntu / Debian和其他使用aptitude的发行版中:

sudo apt-get install libmysql-ruby libmysqlclient-dev

软件包libmysql-ruby已被淘汰,并被ruby-mysql取代。 这是我找到解决方案的地方。

如果因为无法找到libmysql-ruby而导致上述命令无效,则以下内容应该足够了:

sudo apt-get install libmysqlclient-dev

在Red Hat / CentOS和其他使用yum的发行版上:

sudo yum install mysql-devel

在Mac OS X上使用Homebrew:

brew install mysql

我在Mac上使用自制软件来安装开源程序。 我确实需要安装mac开发工具才能安装自制软件,但在此之后它很简单:

brew install mysql

安装mysql。 自那以后,我还没有一个MySQL的宝石问题。


这里是Windows用户的解决方案,希望它有帮助!

在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

    使用默认安装Developer Machine

    -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 包括”'

    现在宝石应该已经正确安装了

    最后从中复制libmysql.dll文件
    C: Program Files MySQL MySQL Server 5.5 lib

    C: Rails的 Ruby1.9.2 BIN

    ---安装mysql2 Gem ---


    您现在可以在MySQL中使用您的Rails应用程序,如果您不确定如何创建Rails 3应用程序并阅读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
    

    添加到gemfile

    gem 'mysql2'
    

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

    rails s
    

    在这里打开浏览器 - > http:// localhost:3000

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

    链接地址: http://www.djcxy.com/p/35925.html

    上一篇: Error installing mysql2: Failed to build gem native extension

    下一篇: How to install gem from GitHub source?