我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:
安装mysql2错误:错误:未能建立gem本地扩展。
我如何解决这个问题并成功安装mysql2?
我有一些问题时,试图安装mysql2宝石为Rails。当我试图通过运行bundle install或gem install mysql2来安装它时,它会给我以下错误:
安装mysql2错误:错误:未能建立gem本地扩展。
我如何解决这个问题并成功安装mysql2?
当前回答
在Debian Stretch上,适合我的包是default-libmysqlclient-dev
Sudo apt-get update && apt-get install -y default-libmysqlclient-dev
其他回答
我也得到了这个错误。通过安装开发包来解决。我使用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。错误输出说(在我的机器上,等等):
“你必须先安装开发工具。”
所以这是一个显而易见的决定,而且很有帮助。
我在我的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没有错误。
对我来说,这很有帮助:
$ 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
请看这篇文章(警告:里面有日语)。
在纠正了mysql-dev问题之后,您可能需要删除坏的mysql2安装。仔细查看$ bundle安装后的消息。你可能需要
rm -rf vendor/cache/
rm -rf ./Zentest
这将清除坏的mysql2安装,以便最终的$ bundle安装可以创建一个好的安装。
我有几台电脑,32位和64位处理器,它们运行在Ubuntu Linux, Maverick(10.10)发行版上。
我也有同样的问题,对我来说 安装libmysqlclient-dev 完成了任务!!