我正在使用 Fedora 14,并且安装并运行了 MySQL 和 MySQL 服务器 5.1.42。现在我尝试以 root 用户身份执行此操作:
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。
对于那些可能对接受的答案感到困惑的人,就像我一样,您还需要安装 ruby 头文件 [ruby-devel]。
保存我隐藏的文章是 here。
这是修改后的解决方案(注意我在 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 开发头文件通过以下方式安装:
sudo apt-get install ruby-dev
对于 Ubuntu,ruby 开发头文件通过以下方式安装:
sudo apt-get install ruby-all-dev
如果您使用的是早期版本的 ruby(例如 2.2),那么您需要运行:
sudo apt-get install ruby2.2-dev
(其中 2.2 是您想要的 Ruby 版本)
红帽,Fedora:
yum -y install gcc mysql-devel ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
Debian,Ubuntu:
apt-get install libmysqlclient-dev ruby-dev
gem install mysql
Arch Linux:
pacman -S libmariadbclient
gem install mysql
ruby-devel
。
对于 2015 年阅读本文的任何人:如果您碰巧安装了包 ruby2.0
,则需要安装匹配的 ruby2.0-dev
以获取适当的 Ruby 标头。 ruby2.1
和 ruby2.2
等也是如此。例如:
$ sudo apt-get install ruby2.2-dev
sudo dnf install ruby-devel
似乎
yum install ruby-devel
足以让我表演
gem install datamapper
然后。
您可能需要安装其他软件包:
yum install gcc gcc-c++
能够构建原生扩展
当 xcode 工具未正确安装时,MAC 用户可能会遇到此问题。以下是解决此问题的命令。
xcode-select --install
sudo gem install -n /usr/local/bin cocoapods
thumbsup
我找到了解决方案 here。
# yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
这篇文章帮助了我。非常感谢。
在 Linux (Ubuntu 12.10) 上我需要运行
sudo apt-get install ruby
sudo apt-get install rubygems
sudo apt-get install ruby-dev
在我成功运行之前
sudo gem install jekyll
如果您安装了 gem 和 ruby 并且无法安装 rails,则安装 ruby dev lib。
sudo apt-get install ruby-dev
这个对我有用。我尝试了不同的解决方案。
红帽,Fedora:
sudo dnf -y install gcc-c++ redhat-rpm-config ruby-devel gcc mysql-devel rubygems
对于那些仍然遇到问题的人,比如我(我使用的是 Ubuntu 16.04),我必须输入以下命令才能安装一些 gem,比如 bcrypt、pg 和其他。除了一个之外,它们都与上面的相似。
sudo apt-get install ruby-dev -y
sudo apt-get install libpq-dev -y
sudo apt-get install libmysqlclient-dev
sudo apt-get install build-essential patch -y
这让我可以安装像 PG、bcrypt 和 recaptcha 这样的 gem。
我最初的解决方案是通过安装 ruby-devel
、patch
和 rubygems
来解决上述错误。
我的问题有点不同,因为 bcrypt 3.1.11 在 Fedora 23 上编译和安装仍然存在问题。我需要额外的软件包。因此,在确保我安装了上述内容之后,我仍然遇到问题:
gcc: error: conftest.c: No such file or directory
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
从这里我必须执行以下操作:
我确保我不缺少任何 C 编译器工具 sudo dnf group install "C Development Tools and Libraries"
然后我运行 sudo dnf install redhat-rpm-config 来解决上面列出的 gcc 问题。
您可以在 Fedore Project 上找到一篇文章。您还可以找到其他需求的答案。
sudo apt-get install ruby-dev
这个命令为我解决了这个问题!
您需要安装以下软件包:
红宝石开发
海合会
libffi开发
制作
这是 debian 发行版的命令:
sudo apt install gcc ruby-dev rubygems libgmp-dev libgmp3-dev make
在 openSUSE 中:
zypper in ruby-devel
对我有用:)
需要安装 redhat-rpm-config 到。我想它可以解决你的问题!
这对我有用:
yum -y install gcc mysql-devel ruby-devel rubygems
你可能搞砸了 RVM。
试着做:
\curl -sSL https://get.rvm.io | bash -s stable --rails
只需在我的 PATH 中添加 ruby.h 文件的路径,例如:
导出 PATH=$PATH:/usr/src/ruby-xxxxxx
yum -y install gcc ruby-devel rubygems
。