gpt4 book ai didi

ruby - 安装时出现错误 'sudo gem install mechanize'

转载 作者:行者123 更新时间:2023-12-04 19:12:27 25 4
gpt4 key购买 nike

即使我已经安装了 ruby​​-dev 和 ruby​​-make 但仍然给出同样的错误?如何修复错误?

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

current directory: /var/lib/gems/2.4.0/gems/unf_ext-0.0.7.5/ext/unf_ext
/usr/bin/ruby2.4 -r ./siteconf20180417-8728-15wdd1s.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.4.0/gems/unf_ext-0.0.7.5 for inspection.
Results logged to /var/lib/gems/2.4.0/extensions/x86_64-linux/2.4.0/unf_ext-0.0.7.5/gem_make.out

最佳答案

您没有 Ruby 的源代码,因此当它尝试编译 gem 时会失败。它正在寻找 /usr/lib/ruby/include/ruby.h但是您的系统上不存在该文件。

一般来说,使用系统版本的 Ruby 并不是一个好主意。 (出于这个原因,以及其他原因)您应该使用 Ruby 管理器将 Ruby 安装到您的用户配置文件中,因为这将使编译 gem 变得更加容易。

例如,您可以使用 RVM安装 Ruby:

\curl -sSL https://get.rvm.io | bash -s stable

这将安装最新版本的 rvm ,然后您可以使用它来安装 Ruby 2.4:
rvm install 2.4

您可以通过指定其版本来安装几乎任何版本的 Ruby,例如 Ruby 2.5:
rvm install 2.5

之后,运行 ruby将自动运行 RVM 安装的版本。由于它已安装在您的配置文件中,因此您无需使用 sudo对于任何操作。 (并且在使用 sudo 或由 rvm 安装的 ruby 时,您永远不应该使用 rvm )

在您的情况下,您将能够运行 gem install mechanize成功,因为它将使用您的主目录中的 Ruby 安装,其中包括源代码和头文件的副本。

如果由于某种原因您不能使用 RVM 或不想使用 RVM,那么您需要安装 Ruby 头文件。安装这些头文件的方式因操作系统而异,所以我无法给你一个答案。例如,如果您的操作系统是基于 Debian 的 Linux 版本,您可以使用以下命令安装头文件:
sudo apt-get install ruby2.4-dev

更多信息可用 in another answer on stackoverflow .

关于ruby - 安装时出现错误 'sudo gem install mechanize',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49869884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com