0

我正在编写一个 npm 脚本,它被打包为一个 npm 包,将主可执行文件暴露node_modules/.bin给它的托管项目。

该脚本有自己的 npm 依赖项,并且由于脚本流依赖于将这些依赖项之一复制到不同的位置,因此它需要知道该依赖项安装在哪里。

我怎样才能找到(通过 API 或 npm CLI)该依赖项安装在主机的node_modules哪里?

4

1 回答 1

6

在此处查看更详细的答案。这个答案留作参考。


您可以npm ls--parseable标志一起使用,这将:

显示可解析的输出而不是树视图。

例如:

$ npm ls my-dep -p
/Users/my-user/dev/host-project/node_modules/my-dep

你应该知道这个命令也可以输出一些不相关的错误到标准输出(例如关于无关的安装)——为了解决这个问题,激活--silent标志(见loglevel文档):

$ npm ls my-dep -ps

在您的 npm 脚本中,可以使用子进程集成此命令,在这种情况下,最好在不带--silent标志的情况下运行命令以允许捕获任何错误。

如果一个错误被捕获,你可以决定它是否是致命的(例如前面提到的关于无关包的错误应该被忽略)。

于 2016-11-08T09:54:44.950 回答