我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:
安装mysql2错误:错误:未能建立gem本地扩展。
我如何解决这个问题并成功安装mysql2?
我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:
安装mysql2错误:错误:未能建立gem本地扩展。
我如何解决这个问题并成功安装mysql2?
当前回答
对我来说,这很有帮助:
$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"
然后:
gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib
结果:
Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed
请看这篇文章(警告:里面有日语)。
其他回答
如果你仍然有问题....
试着安装
sudo apt-get install ruby1.9.1-dev
在升级到Mac OS X Mountain Lion后尝试安装mysql2 gem时,出现“您必须先安装开发工具”错误。显然,执行此升级将删除命令行编译器。
修复:
我卸载了旧版本的Xcode(在/Developer/Library中运行卸载脚本)。然后删除“/Developer”目录。 去AppStore下载Xcode。 打开Xcode,进入首选项->下载,安装命令行工具。
在Ubuntu/Debian和其他使用aptitude的发行版上:
sudo apt-get install libmysql-ruby libmysqlclient-dev
libmysql-ruby包已经被ruby-mysql所取代。这就是我找到解决办法的地方。
如果上面的命令不能工作,因为libmysql-ruby无法找到,下面的命令应该足够了:
sudo apt-get install libmysqlclient-dev
在使用yum的Red Hat/CentOS和其他发行版上:
sudo yum install mysql-devel
在Mac OS X和Homebrew上:
brew install mysql
这解决了我在Windows中的问题:
subst X: "C:\Program files\MySQL\MySQL Server 5.5"
gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt
subst X: /D
这里有一个解决方案,希望对Windows用户有帮助!
在Windows上使用Rails 3使用MySQL
安装railsinstaller -> www.railsinstaller.org(我安装到c:\Rails) 安装MySQL(我使用MySQL 5.5) -> dev.mysql.com/downloads/installer/
--- for mySQL installation --- If you dont already have these two files installed you might need them to get your MySQL going 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 Use default install Developer Machine -MySQL Server Config- port: 3306 windows service name: MySQL55 mysql root pass: root (you can change this later) (username: root) -MySQL Server Config- --- for mySQL installation ---
安装mysql2 Gem 重点:使用Git Bash命令行(这是安装在railsinstaller) -> start/Git Bash ——with-mysql-lib="c:\Program Files\MySQL\ Server 5.5\lib"——with-mysql-include="c:\Program Files\MySQL\ Server 5.5\include"' 现在gem应该已经正确安装了 最后复制libmysql.dll文件 C:\Program Files\MySQL\MySQL Server 5.5\lib 来 Rails C: \ \ Ruby1.9.2 \ bin 安装mysql2 Gem
你现在将能够使用你的Rails应用程序与MySQL,如果你不确定如何创建一个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应用程序