【问题标题】:Metasploit Update: Error In Bundle Install ( nokogiri 1.6.8 )Metasploit 更新:捆绑安装错误(nokogiri 1.6.8)
【发布时间】:2017-01-08 02:10:43
【问题描述】:

Metasploit 一直运行良好,直到今天早上我用 msfupdate 更新它,然后一切都搞砸了。

输入 msfconsole 现在给我这个错误:

Could not find nokogiri-1.6.8 in any of the sources
Run bundle install to install missing gems.

我输入了bundle install。在发生这种情况之前一切都很好:

Installing nokogiri 1.6.8 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby2.2 -r ./siteconf20160831-24032-1wim46x.rb extconf.rb --use-system-libraries
Using pkg-config version 1.1.7
checking if the C compiler accepts ... yes
Building nokogiri using system libraries.
checking for libxml-2.0... no
checking for libxslt... no
checking for libexslt... no
ERROR: cannot discover where libxml2 is located on your system. please make sure pkg-config is installed.
* extconf.rb failed *
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/$(RUBY_BASE_NAME)2.2
    --help
    --clean
    --use-system-libraries
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-libxml-2.0-config
    --without-libxml-2.0-config
    --with-pkg-config
    --without-pkg-config
    --with-pkg-config
    --without-pkg-config
    --with-override-variables
    --without-override-variables
    --with-xslt-dir
    --without-xslt-dir
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --with-libxslt-config
    --without-libxslt-config
    --with-pkg-config
    --without-pkg-config
    --with-exslt-dir
    --without-exslt-dir
    --with-exslt-include
    --without-exslt-include=${exslt-dir}/include
    --with-exslt-lib
    --without-exslt-lib=${exslt-dir}/lib
    --with-libexslt-config
    --without-libexslt-config
    --with-pkg-config
    --without-pkg-config

extconf failed, exit code 1

Gem files will remain installed in /usr/share/metasploit-framework/vendor/bundle/ruby/2.2.0/gems/nokogiri-1.6.8 for inspection.
Results logged to /usr/share/metasploit-framework/vendor/bundle/ruby/2.2.0/extensions/x86-linux/2.2.0/nokogiri-1.6.8/gem_make.out
Using rack-test 0.6.3
Using faraday 0.9.2
Using jsobfu 0.4.1
Using packetfu 1.1.11
Using rex-arch 0.1.1
Using rex-ole 0.1.2
Using rex-random_identifier 0.1.0
Using rex-zip 0.1.0
Using simplecov 0.12.0
Using activesupport 4.2.7.1
Using tzinfo-data 1.2016.6
An error occurred while installing nokogiri (1.6.8), and Bundler cannot
continue.
Make sure that gem install nokogiri -v '1.6.8' succeeds before bundling.

我开始搜索并遇到this,这表明我应该运行bundle config build.nokogiri --use-system-libraries

但又一次,什么都没有。我也试过gem install nokogiri -v 1.6.8。我还尝试了更旧的版本:gem install nokogiri -v 1.6.0

我正在使用 Kali。


编辑:我认为解决方案是我应该重新安装 Kali;我从这一切中学到的一件事是从不更新 MSF :D

【问题讨论】:

  • 你能在这里提供你的 gemfile 和 ruby​​ 版本吗?
  • @SantoshSharma 不知道该怎么做(我是新手),你能告诉我怎么做吗?
  • 请查看您在此处提供的链接。在那个问题中 gemfile 可用
  • 我投票决定将此问题作为离题结束,因为它是关于使用非编程工具的,而 SO 是针对编程问题的。

标签: ruby-on-rails ruby linux bundle metasploit


【解决方案1】:

首先我尝试了这些:-

sudo apt-get install make
sudo apt-get install ruby-dev
sudo gem install nokogiri -v '1.10.7' --source 'https://rubygems.org/'

安装 nogogiri gem 后,我进入 metasploit-framework 目录,在我的例子中是:-

cd /usr/share/metasploit-framework 并输入:-

sudo bundle install

一切都很顺利,直到我遇到“pg”gem 安装错误。 这样就解决了错误:-

sudo apt-get install libpq-dev
sudo gem install pg -v '0.21.0' --source 'https://rubygems.org/'
sudo bundle install

我又遇到了另一个名为“pcaprub”的 gem 安装错误

这解决了它:-

sudo apt install libpcap-dev
sudo gem install pcaprub -v '0.13.0' --source 'https://rubygems.org/'
sudo bundle install

好吧,现在真的很令人沮丧,因为这次又发生了另一个错误,它是“sqlite3”gem,可以通过以下方式修复:-

sudo apt-get install sqlite3 libsqlite3-dev
sudo gem install sqlite3 -v '1.3.13' --source 'https://rubygems.org/'
sudo bundle install

啊! Metasploit 终于启动并运行了。

Bundle complete! 14 Gemfile dependencies, 144 gems now installed.

【讨论】:

    【解决方案2】:

    如果您在 MacOS 上尝试安装 Nokogiri 时遇到此问题,您可以运行 xcode-select --install 并重试 :)

    【讨论】:

      【解决方案3】:

      @RUser98 --

      我在 Unix Stack Exchange 网站上找到了这个答案,也许它会对你有所帮助?

      如果您在安装nokogiri-1.6.8 时遇到错误,请尝试:

      sudo apt-get install libxslt-dev libxml2-dev zlib1g-dev --yes 
      

      来源: https://unix.stackexchange.com/a/298159

      每次在 Kali 上安装/更新 Metasploit 时,我也遇到了很多新问题,所以我感受到了你的痛苦

      【讨论】:

      • 投了赞成票,因为这导致 bundle install 工作得很好,但我在运行 msfconsole 时仍然遇到错误
      • 如果您发布错误和解决方案,它可能仍然对其他人有帮助;)无论哪种方式,修复它都做得很好!
      猜你喜欢
      • 2019-11-05
      • 2014-02-08
      • 2021-10-27
      • 2013-06-16
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 2015-05-15
      • 2019-12-28
      相关资源
      最近更新 更多