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

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

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


当前回答

根据https://github.com/brianmario/mysql2/issues/1175,我用

gem install mysql2 -- \
 --with-mysql-lib=/usr/local/Cellar/mysql/8.0.26/lib \
 --with-mysql-dir=/usr/local/Cellar/mysql/8.0.26 \
 --with-mysql-config=/usr/local/Cellar/mysql/8.0.26/bin/mysql_config \
 --with-mysql-include=/usr/local/Cellar/mysql/8.0.26/include

其他回答

在Debian Stretch上,适合我的包是default-libmysqlclient-dev

Sudo apt-get update && apt-get install -y default-libmysqlclient-dev

根据https://github.com/brianmario/mysql2/issues/1175,我用

gem install mysql2 -- \
 --with-mysql-lib=/usr/local/Cellar/mysql/8.0.26/lib \
 --with-mysql-dir=/usr/local/Cellar/mysql/8.0.26 \
 --with-mysql-config=/usr/local/Cellar/mysql/8.0.26/bin/mysql_config \
 --with-mysql-include=/usr/local/Cellar/mysql/8.0.26/include

如果仍然报错,请按照mysql2 gem在Rails 3上的安装步骤

http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

其中大多数用户都能够安装mysql2 gem。

我在我的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没有错误。

解决方案仅适用于Mac OS X

如果你已经用自制软件安装了MySQL,对我来说有效的方法是卸载MySQL,然后通过MySQL网站(https://www.mysql.com/)安装MySQL社区版。

安装后,只需重新输入命令gem install mysql2,如果有必要,sudo gem install mysql2,如果你得到的权限被拒绝的问题。