gem install: Failed to build gem native extension (can#39;t find header files)(gem install: 无法构建 gem 本机扩展(找不到头文件))
问题描述
我使用的是 Fedora 14,并且安装并运行了 MySQL 和 MySQL 服务器 5.1.42.现在我尝试以 root 用户身份执行此操作:
I am using Fedora 14 and I have MySQL and MySQL server 5.1.42 installed and running. Now I tried to do this as root user:
gem install mysql
但我收到此错误:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
这里出了什么问题?在安装的 ruby 1.8.7 中.以及最新的 rubygems 1.3.7.
What's wrong here? In installed ruby 1.8.7. and the latest rubygems 1.3.7.
推荐答案
对于那些可能对接受的答案感到困惑的人,就像我一样,您还需要安装 ruby 标头 [ruby-devel强>].
For those who may be confused by the accepted answer, as I was, you also need to have the ruby headers installed [ruby-devel].
拯救我隐藏的文章是此处.
这是修改后的解决方案(请注意,我使用的是 Fedora 13):
And this is the revised solution (note that I'm on Fedora 13):
yum -y install gcc mysql-devel ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
对于 Debian 和其他使用 Debian 风格打包的发行版,ruby 开发头文件通过以下方式安装:
For Debian, and other distributions using Debian style packaging the ruby development headers are installed by:
sudo apt-get install ruby-dev
对于 Ubuntu,ruby 开发头文件通过以下方式安装:
For Ubuntu the ruby development headers are installed by:
sudo apt-get install ruby-all-dev
如果您使用的是较早版本的 ruby(例如 2.2),则需要运行:
If you are using a earlier version of ruby (such as 2.2), then you will need to run:
sudo apt-get install ruby2.2-dev
(其中 2.2 是您想要的 Ruby 版本)
(where 2.2 is your desired Ruby version)
这篇关于gem install: 无法构建 gem 本机扩展(找不到头文件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:gem install: 无法构建 gem 本机扩展(找不到头文件)
基础教程推荐
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01