我如何列出用户安装/环境包只在npm?
当我执行npm -g list时,它会输出每个包及其依赖项。相反,我希望看到包安装在当前工作的项目或环境中。
我如何列出用户安装/环境包只在npm?
当我执行npm -g list时,它会输出每个包及其依赖项。相反,我希望看到包安装在当前工作的项目或环境中。
当前回答
我使用的是npm 7.20.3版本,看起来默认深度已经为0。所以在我的情况下,npm list——global只显示了一个安装包(npm)。我知道我安装了更多的软件包,输出结果让我感到困惑。
最终,我尝试了——depth参数,我能够看到所有安装的包:npm list——global——depth=1来查看其他安装的包(设置为10来查看整个依赖树)。
其他回答
查看已安装的所有包的列表。
$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u
显示NPM包列表https://docs.npmjs.com/cli/ls#parseable的可解析性
npm list -g --depth=0
npm: Node.js包管理器命令行工具 List -g:显示在用户文件夹中找到的每个包的树(没有-g选项,它只显示当前目录的包) ——depth 0 /——depth=0:避免在树视图中包含每个包的依赖项
一种方法可能是使用以下命令找到模块的根目录:
npm root
输出:
/Users/me/repos/my_project/node_modules
然后列出该目录…
ls /Users/me/repos/my_project/node_modules
输出:
grunt grunt-contrib-jshint
在本例中,用户安装的包是grunt和grunt-contrib-jshint。
对于项目依赖使用:
npm list --depth=0
对于全局依赖使用:
npm list -g --depth=0
node_modules文件夹包含用户安装的包,因此将目录更改为node_modules并列出项目。核心模块定义在Node.js的源代码lib/文件夹中。
例子:
cd ~/node_modules
ls
输出:
express maxmind-native node-whois socket.io ua-parser-js
geoip mongoskin pdfkit tail zeromq
maxmind nodemailer request ua-parser zmq