IT之家 7 月 5 日消息,GitHub 和 NPM 的前工程经理 Darcy Clarke 上周警告称,NPM 包存在“Manifest 混淆”问题。系统管理员 Felix Pankratz 近日发布了一款基于 Python 的工具,可以帮助软件开发人员检查 NPM 包是否一致。
NPM 是 Java 编程语言的程序包管理器,也是广泛使用的 Noje.js环境的默认配置。
该程序包管理器有助于项目管理员自动化安装、升级和配置托管在 npmjs.com的 npm 注册表数据库上的软件包。
【资料图】
当程序包在 npm 注册表上展示的 maniefest 信息,与安装该程序包时使用的发布的 npm 包 tarball 中的实际的 “package.json” 文件不一致时,就会发生 Manifest 混淆。
IT之家在此附上该工具的 GitHub 页面,有需要的用户可以前往下载。
用户需要该工具要求安装相关组件:
pip install -r requirements.txt
如果只是想要检查某个包,只需要在脚本末尾添加包的名称,例如:
$ ./npm-manifest-check.py darcyclarke-manifest-pkg
反馈结果将显示 Manifest 和实际 package.json文件之间的版本、依赖项、脚本和包名称中的任何不匹配信息。
如果想要检测多个包,可以先将这些包添加到“packages.list”文件中,然后使用“check_packages.sh”包装器脚本进行检查。