【问题标题】:How do I install the mysql2 gem on ubuntu, when I'm using rails3 via rvm?当我通过 rvm 使用 rails3 时,如何在 ubuntu 上安装 mysql2 gem?
【发布时间】:2011-06-09 04:05:14
【问题描述】:

我正在尝试绕过导轨配置这个极其复杂的迷宫。到目前为止,我已经成功地在 ubuntu 上设置了 rvm(由于某种原因,ruby 在 ubuntu 存储库中已经过时了)。 我设法建立了一个rails项目。我希望我的测试项目使用 mysql 而不是 mysqlite。

当我尝试“rake db:migrate”时,出现错误: "!!! 缺少 mysql2 gem。将它添加到您的 Gemfile: gem 'mysql2'"

当我尝试“gem install mysql”时,我收到一个错误,告诉我需要为安装命令提供参数。但是,参数列表很大,我不知道该选择哪些。

如何通过 rvm 在 ubuntu 上使用 mysql 获取 rails3?

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby ubuntu rvm


    【解决方案1】:

    我有同样的问题,你需要做的就是先安装 libmysqlclient-dev。

    干杯

    【讨论】:

      【解决方案2】:

      首先,你需要安装 mysql。您可以使用 Ubuntu 的包管理器安装它。无需特殊步骤。您还需要使用 mysql 工具最初创建数据库和用户。此链接显示了如何执行此操作:

      http://www.tutorialspoint.com/ruby-on-rails/rails-database-setup.htm

      其次,您需要在 Gemfile 中列出 mysql2 gem。这告诉 Rails 继续使用该 gem。你需要这样一行:

      gem 'mysql2', '< 0.3'
      

      我将版本指定为小于 0.3,因为我使用的是 Rails 3.0.7,而 0.3 及更高版本适用于 Rails 3.1。此外,请务必使用 mysql2 gem 而不是 mysql - 它似乎可以更好地处理字符编码。

      第三,运行“bundle install”以便 Rails 下载并安装 mysql2 gem。

      最后,您需要更改您的 database.yml 文件以放入数据库的连接信息,如下所示:

      development:
        adapter:  mysql2
        database: your_database_name
        username: your_username
        password: your_password
        encoding: utf8
      

      编码部分正是我正在使用的,您可能需要一些不同的东西。此条目告诉 Rails 如何在开发环境中找到您的数据库。

      一切就绪后,一切就应该开始了。

      【讨论】:

      • 我安装了 mysql,并且我的 gemfile 中列出了 mysql2 gem。我实际上已经完全放弃了这个,并删除了我的 rvm 安装。这对我来说太难了。 ubuntu 上的 Ruby 似乎很难。
      【解决方案3】:
      sudo apt-get install libmysql-ruby libmysqlclient-dev
      

      如果上面的命令因为找不到libmysql-ruby而不起作用,那么以下应该就足够了:

      sudo apt-get install libmysqlclient-dev
      

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

      sudo yum install mysql-devel
      

      在带有 Homebrew 的 Mac OS X 上:

      brew install mysql
      

      然后运行

      bundle install
      

      安装到 gemfile 中列出的 gems

      【讨论】:

        【解决方案4】:

        我认为您需要将 gem 名称添加到位于项目根目录中的 Gemfile:

        它应该是这样的:

        source 'http://rubygems.org'
        
        gem 'rails', version
        gem 'mysql', version
        

        其中 version 是您要安装的 gem 版本,默认情况下会有一堆其他信息。

        然后,导航到您的项目目录并运行 bundle 命令,您应该已经设置好了。

        【讨论】:

        • 这样做会产生与我之前遇到的相同的错误,只是被更多的文本包围。这是同一个问题:需要为 mysql 或 mysql2 gem 提供安装选项,但错误代码没有告诉我它需要哪些选项或为什么。再次 - 这个问题似乎是特定于使用 rvm 安装 rails
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-21
        • 2011-05-16
        • 1970-01-01
        • 2014-10-20
        • 2011-08-14
        • 2011-07-04
        相关资源
        最近更新 更多