Ruby- 数据包生成安装给出 gem 安装错误



我正在尝试安装 packetgen,一个用于制作和操作网络数据包的库。我按照所有说明进行操作,并安装了所有必要的库。但是,当我跑sudo gem install packetgen在我的 Linux 机器上安装它引发了一个错误:

ERROR:  Error installing packetgen:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/pcaprub-0.12.4/ext/pcaprub_c
/usr/bin/ruby2.3 -r ./siteconf20181009-29130-us1azm.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.3.0/gems/pcaprub-0.12.4                  for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0   /pcaprub-0.12.4/gem_make.out [here][1]

我以 sudo 的身份运行命令,但遇到了同样的错误。有谁知道我在这里做错了什么?安装说明的链接在这里。

不要使用sudo gem install而是强烈建议您使用 ruby 版本管理器,可能是 RVM,有关更多原因,请参阅"sudo gem 安装"或"gem 安装"和 gem 位置

根据您的错误,您似乎正在尝试使用系统红宝石,这可能会有权限和/或库依赖问题。 通过使用版本管理器可以轻松解决这些问题,该版本管理器具有许多优点,包括能够在同一系统上使用不同的 ruby 版本,并且不必使用 gem 的sudo或根级别安装。

您可以从此处安装 RVM

您发布的 gem 链接的说明确实说 gem 取决于sudo apt install libpcap-dev您的 gem 需要构建的系统库。 我想你已经迈出了那一步对吧?

最新更新