如何追溯node_modules/.bin中可执行文件对应的npm包?
高效追溯node_modules/.bin文件对应生成包的方法
- 直接查看bin文件内容:打开
node_modules/.bin/openapi这类文件,绝大多数情况下,文件里的跳转脚本会直接指向原包的入口文件(比如包含require('../@redocly/cli/bin/cli.js')这类代码),或是在注释里标注了来源包名,一眼就能定位。 - 用npm内置命令快速定位:在项目根目录执行
npm which openapi,会直接输出该命令对应的实际文件路径,从路径就能反向找到所属包;如果不确定包名,也可以执行npm ls --json | grep -A 5 -B 5 "openapi",从JSON输出里定位到包含该bin命令的包。 - 查锁文件精准匹配:在
package-lock.json或yarn.lock里直接搜索目标bin文件名(比如openapi),锁文件会明确记录该命令所属的包名、版本和对应文件路径,是最可靠的追溯方式。 - 排查依赖包的package.json:如果前面的方法没头绪,直接看项目根目录
package.json里的dependencies/devDependencies,找可能的CLI工具包(比如@redocly/cli),进入对应包的目录查看其package.json的bin字段,确认是否包含目标命令。
内容的提问来源于stack exchange,提问作者Evan Carroll
相关产品推荐
相关产品推荐

