我有一些问题时,试图安装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

其他回答

在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

在ubuntu 20.04 LTS下,这是唯一的解决方案,一直为我工作:

sudo apt-get install ruby-mysql2

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

我也有同样的问题,对我来说 安装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

解决方案仅适用于Mac OS X

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

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