在意外的目录结构中查找节点依赖项版本



我正在处理的项目有以下目录结构:

application
package.json
client
package.json
server
package.json

此外,项目中使用的一些依赖项具有类似的client/server层次结构,基本级别为package.json。这里的推理离题了。我想做的是在这个项目中找到一个给定库的安装版本,无论它在哪里。我曾希望npm ls能做到这一点,但它似乎只检查基本级别的package.json文件。

我正在考虑写一个bash脚本或类似的东西,递归地查找从根目录开始的所有node_modules目录,然后在每个目录中使用npm ls,但我也希望找到一个更简单的答案。任何想法都将不胜感激。

我最终定义了一个别名,如下所示:

alias npm-ls-lib='_npm-ls-lib(){ find . -type d -name "$1" -exec npm --prefix {} ls . ; | grep -v (empty); }; _npm-ls-lib'

现在我可以这样称呼它:npm-ls-lib lib-name

最新更新