我如何列出用户安装/环境包只在npm?

当我执行npm -g list时,它会输出每个包及其依赖项。相反,我希望看到包安装在当前工作的项目或环境中。


当前回答

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

其他回答

一种方法可能是使用以下命令找到模块的根目录:

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。

你可以使用以下命令获取所有全局安装模块的列表:

ls `npm root -g`

我使用的是npm 7.20.3版本,看起来默认深度已经为0。所以在我的情况下,npm list——global只显示了一个安装包(npm)。我知道我安装了更多的软件包,输出结果让我感到困惑。

最终,我尝试了——depth参数,我能够看到所有安装的包:npm list——global——depth=1来查看其他安装的包(设置为10来查看整个依赖树)。

列出一些友好的GUI的NPM包!

这是我个人更喜欢的,可能对其他人也一样,在演讲或会议中也会有帮助。

使用npm-gui,您可以以更好的可视化方式列出本地和全局包。

你可以在这里找到包裹

npm-gui (npm) npm-gui (GitHub)

运行以下命令

// Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

然后在http:\\localhost:9000打开浏览器

你可以试试NPM桌面管理器:

只需单击一下,您就可以在dev或全局状态下安装/卸载包。