LInux 安装 mysql2 gem失败

通过gem安装mysql2显示

Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
	ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.3.0/gems/mysql2-0.3.20/ext/mysql2
/usr/bin/ruby2.3 -r ./siteconf20160706-11037-1p2xg3s.rb extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
checking for mysql_query() in -lmysqlclient... no
-----
libmysqlclient is missing. Trying again with extra runtime libraries...
-----
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
-----
libmysqlclient is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and try again.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/bin/$(RUBY_BASE_NAME)2.3
	--with-mysql-dir
	--without-mysql-dir
	--with-mysql-include
	--without-mysql-include=${mysql-dir}/include
	--with-mysql-lib
	--without-mysql-lib=${mysql-dir}/lib
	--with-mysql-config
	--without-mysql-config
	--with-mysql-dir
	--without-mysql-dir
	--with-mysql-include
	--without-mysql-include=${mysql-dir}/include
	--with-mysql-lib
	--without-mysql-lib=${mysql-dir}/lib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-mlib
	--without-mlib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-zlib
	--without-zlib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-socketlib
	--without-socketlib
	--with-nsllib
	--without-nsllib
	--with-mysqlclientlib
	--without-mysqlclientlib
	--with-mygcclib
	--without-mygcclib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/mysql2-0.3.20/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/mysql2-0.3.20 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/mysql2-0.3.20/gem_make.out

解决方案


On Ubuntu/Debian and other distributions using aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev
If the above command doesn't work because libmysql-ruby cannot be found, the following should be sufficient:

sudo apt-get install libmysqlclient-dev
On Red Hat/CentOS and other distributions using yum:

sudo yum install mysql-devel
On Mac OS X with Homebrew:

brew install mysql



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可能导致Linux安装MySQL依赖检测失败的原因有很多。一般可能是由于系统安装的软件包不完整或者损坏,或者MySQL所需的某些依赖项未正确安装。还可能是由于系统内存已满或磁盘空间不足导致安装失败。您可以尝试卸载MySQL并重新安装,或者更新系统和软件包以解决此问题。 ### 回答2: 当我们在安装MySQL数据库时,往往会遇到一些依赖检测失败的问题,这种问题通常会让我们无从下手。下面,我将为大家介绍一些常见的原因以及解决方案。 1.未安装必要的依赖软件包 在安装MySQL数据库之前,我们需要确认是否已经安装了所有必要的依赖软件包。如果没有安装,则会导致依赖检测失败。解决方法如下: 首先,我们需要确认所需的软件包是否已经安装。您可以通过以下命令来检查: ``` rpm -qa | grep software_packagename ``` 如果软件包已经安装,则该命令将会显示软件包的名称和版本号。如果没有安装,则需要运行以下命令来安装: ``` yum install software_packagename ``` 2.软件包版本错误或不兼容 另外一个常见的原因是软件包版本错误或不兼容。解决方法如下: 首先,我们需要确认所需软件包的版本号。您可以通过以下命令来检查: ``` rpm -qa | grep software_packagename ``` 如果软件包版本不正确,则需要从官方网站下载正确的版本并手动安装。在安装新版本之前,请先删除旧版本。 3.欠缺依赖库文件 在安装MySQL的过程中,可能会缺少一些必要的依赖库文件,这会导致依赖检测失败。下面是一些解决方法: 首先,我们需要确认缺少的依赖库文件名称。你可以通过以下命令来检查: ``` ldd /usr/bin/mysql |grep not ``` 该命令将会显示缺少的库文件名称。 接下来,您可以通过以下命令来安装缺少的库文件: ``` yum install lib_package_name ``` 如果您无法在yum中找到所需的依赖库文件,您可以在官方网站下载并手动安装。 总结: 以上就是一些常见的原因以及解决方案,我希望能够帮助到大家。在实际安装中,还有很多不同的错误原因和解决方法,需要针对具体情况进行分析和处理。如果您还有其他问题和疑惑,请及时咨询相关技术人员进行解决。 ### 回答3: 在安装MySQL之前,通常需要检测系统中是否已存在MySQL的依赖包,如可能需要安装libaio-devel, bison, gcc等。如果在这个过程中出现依赖检测失败的情况,可能有以下几种原因: 1. 依赖包未安装:在安装MySQL前,系统中必须已安装包含必要依赖包的软件仓库。如果该软件仓库缺失,则无法进行依赖检测,导致检测失败。此时,可以通过添加缺失的软件仓库,然后重新检测并安装所需依赖包。 2. 依赖包版本不一致:检测到当前系统中已安装了相关的依赖包,但是版本与MySQL安装所需的版本不一致,例如MySQL需要MySQL-devel-5.6.20-1.el6.x86_64,而系统安装MySQL-devel-5.7.28-1.el6.x8664,则会产生依赖检测失败的问题。这种情况下可以通过卸载已安装的旧版本依赖包,然后重新从软件仓库下载并安装所需的版本。 3. 依赖包缺失:在依赖检测的过程中,可能会出现缺失某些依赖包的情况,如出现“Not found”等提示。这时需要手动从软件仓库下载并安装缺失的依赖包。 总之,要解决依赖检测失败的问题,需要诊断失败的原因,针对不同情况采取不同的解决方案,确保系统中已安装了所有必需的依赖包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值