You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Metasploit时出现json-2.3.0缺失等错误,求解决

解决Metasploit依赖缺失(json-2.3.0)与Bundle执行问题

我来帮你搞定这个Metasploit的依赖问题!你遇到的核心问题其实是两个:一是Metasploit找不到指定版本的json gem,二是执行bundle install时因为目录不对+用root运行导致的报错,下面一步步来解决:

1. 先切换到Metasploit的框架目录

bundle install必须找到项目的Gemfile才能正常工作,而Metasploit的Gemfile在它的专属安装目录里。在Kali Linux中,默认路径是/usr/share/metasploit-framework/,先切换过去:

cd /usr/share/metasploit-framework/

2. 正确执行Bundle安装依赖

提示里说不要用root运行bundle是有道理的——root权限安装的依赖会让非root用户无法正常使用这个应用。如果是Kali默认的root环境,我们可以加参数规避权限问题,同时只安装生产必需的依赖:

bundle install --without development test --no-deployment

如果还是碰到权限报错,再临时用sudo执行(记得这是应急方案,后续尽量用普通用户操作):

sudo bundle install --without development test --no-deployment

3. 手动安装缺失的json-2.3.0 gem

如果bundle安装还是没解决json的问题,可以直接用gem命令指定版本安装:

gem install json -v 2.3.0

要是遇到编译错误(比如提示缺少Ruby开发组件),先装Ruby的开发包再重试:

apt-get install ruby-dev gcc make

4. 关于Gem::ConfigMap的警告

这个警告是因为系统Ruby版本较新,废弃了这个旧常量,暂时不会影响Metasploit的核心功能,等后续Metasploit更新适配新Ruby版本后就会消失,不用太在意。

完成以上步骤后,重新启动Metasploit应该就能正常运行了。

内容的提问来源于stack exchange,提问作者hello world

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 09:48:11