我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:
安装mysql2错误:错误:未能建立gem本地扩展。
我如何解决这个问题并成功安装mysql2?
我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:
安装mysql2错误:错误:未能建立gem本地扩展。
我如何解决这个问题并成功安装mysql2?
当前回答
我在我的mac上遇到了这个错误,我发现我需要从mysql 32位升级到mysql 64位才能让这个错误消失。我在英特尔macbook pro上运行OSX 10.6, ruby 1.9.2和rails3.0.0
我还需要安装xcode,以获得编译gem所需的诸如“make”之类的unix实用程序。
一旦这样做,我能够运行gem安装mysql和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
如果您正在使用yum,请尝试:
sudo yum install mysql-devel
下载正确版本的mysqllib.dll,然后复制到ruby bin,这对我来说真的很有用。请按照这个链接mysql2 gem编译错误的mysql客户端库
在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
我也得到了这个错误。通过安装开发包来解决。我使用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。错误输出说(在我的机器上,等等):
“你必须先安装开发工具。”
所以这是一个显而易见的决定,而且很有帮助。