我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:

安装mysql2错误:错误:未能建立gem本地扩展。

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


当前回答

MacOS用户的另一种方式

如果你使用“brew”安装mysql:

gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config

X.X.X =要安装的mysql2 gem的版本号 y.y.y =你安装的mysql版本ls /usr/local/Cellar/mysql

其他回答

我用的是mac电脑,用自制软件安装开源程序。为了安装自制软件,我不得不安装mac Dev工具,但在那之后,它是一个简单的:

brew install mysql

安装mysql。我没有一个mysql宝石的问题,因为。

你试过用

 gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib 

来指定基本目录的位置以及完成gem安装所必需的MySQL库的路径?

来源: MySQL Gem安装错误:未能建立Gem本地扩展 MySQL论坛::Ruby::帮助安装MySQL绑定Ruby

我也得到了这个错误。通过安装开发包来解决。我使用arch,它是:

sudo pacman -S base-devel

安装:

m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc,
libtool, make, patch, pkg-config

但我认为它实际上需要make和gcc。错误输出说(在我的机器上,等等):

“你必须先安装开发工具。”

所以这是一个显而易见的决定,而且很有帮助。

我有几台电脑,32位和64位处理器,它们运行在Ubuntu Linux, Maverick(10.10)发行版上。

我也有同样的问题,对我来说 安装libmysqlclient-dev 完成了任务!!

我只是想特别为Mac用户添加这个答案。

在我更新xcode之前,我的服务器运行得非常好。当启动我的rails服务器时,错误显示如下

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql-
    checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3-  
    p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an    
    executable file. (RuntimeError)

并且在错误消息的末尾有安装mysql2 gem的建议。所以当我尝试安装它时,我得到了这个问题中提到的错误。我得到的错误如下

ERROR:  Error installing mysql2:
ERROR: Failed to build gem native extension.

因此,正如在这篇文章中所建议的那样,我尝试了“酿造安装mysql”,并退出说mysql版本已经安装。但之前有警告说

Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license

然后我尝试了这个sudo xcodebuild -license,并在最后键入'agree'。您必须是root用户才能同意该许可。

在此之后,我再次尝试bundle安装,然后一切都正常工作。[甚至由于这次xcode更新,我的塔也有问题。]