(资料图片仅供参考)
近日,GitHub和NPM的前工程经理Darcy Clarke警告,NPM包存在"Manifest混淆"问题。为了应对这种情况,系统管理员Felix Pankratz推出了一款基于Python的工具,以帮助软件开发人员检查NPM包的一致性。 NPM是JavaScript编程语言的程序包管理器,也是Node.js环境的默认配置。该程序包管理器可以帮助项目管理员自动化安装、升级以及配置软件包,这些软件包都被托管在npmjs.com上的NPM注册表数据库。 所谓 "Manifest混淆"问题,指的是当程序包在NPM注册表上显示的Manifest信息与安装该程序包时,发布的NPM包tarball中的实际“package.json”文件不一致的情况。 公开发布的Python工具可以帮助用户完善这个问题。用户可以通过安装相关组件来使用该工具。只需要在脚本的末尾添加具体的包名,就可以看到Manifest和实际的"package.json"文件中任何不匹配的信息,包括版本、依赖项、脚本以及包的名称。 为了检测多个包,用户可以先把这些包名添加到"packages.list"文件中,然后利用"check_packages.sh"包装器脚本进行检查。这款工具已经公开,有需要的用户可以前往下载。