ruby- packetgen安装会导致gem安装错误

时间:2018-10-09 21:47:10

标签: ruby rubygems

我正在尝试安装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身份运行了命令,但遇到了相同的错误。有人知道我在做什么错吗?安装说明的链接为here.

1 个答案:

答案 0 :(得分:1)

请勿使用sudo gem install,但强烈建议您使用ruby版本管理器(可能是RVM),原因更多,请参见'sudo gem install' or 'gem install' and gem locations

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

您可以安装RVM from here

您发布的gem链接说明确实gem取决于sudo apt install libpcap-dev,这是您gem需要构建的系统库。我认为您已经正确执行了该步骤?