Bundler找不到宝石“ sysrandom”的兼容版本

时间:2018-12-05 19:57:55

标签: ruby rubygems metasploit

在安装PentestBox以便在Windows 10上安装渗透测试工具之后,它运行良好,但是其中一些工具已经过时,例如metasploit,因此我尝试使用PentestBox Update Manager更新所有工具,但之后完成更新msfconsole会不断给我这个错误

Bundler could not find compatible versions for gem "sysrandom":
  In Gemfile:
    metasploit-framework x86-mingw32 was resolved to 5.0.0, which depends on sysrandom x86-mingw32

  Could not find gem 'sysrandom', which is required by gem 'metasploit-framework', in any of the sources.

我一般来说是用红宝石语言吸吮的,那我该怎么办?

1 个答案:

答案 0 :(得分:0)

您链接到的metasploit版本在几年内似乎没有更新。它没有将sysrandom列为Gemfile中的依赖项。

有一个newer version确实具有系统随机性作为依赖项,在这里:

https://github.com/rapid7/metasploit-framework/blob/master/metasploit-framework.gemspec#L106

我不确定为什么pentestbox使用的是这样的旧版本,但是我假设“更新”实际上是对metasploit的Rapid7版本进行了更新(因为它正在寻找仅存在于此的sysrandom)。

您可以尝试以下操作:

  • bundle install应该安装所有依赖项(不使用为pentestbox构建的控制台工具)
  • 删除Gemfile.lock并运行bundle install。我通常不建议这样做,但是如果某个地方似乎存在版本不匹配的情况,有时这可以解决依赖项错误。您应该能够再次重新签出此文件(假设它是本地版本)

如果您可以发布已下载的metasploit版本的git commit哈希,这可能有助于提供其他解决建议。