如何通过 npm CLI/API 获取已安装的 npm 包的路径?
how to get the path of an installed npm package via npm CLI/API?
我正在编写一个 npm 脚本,它被打包为一个 npm 包,将主要可执行文件暴露给 node_modules/.bin
到它的托管项目。
此脚本有自己的 npm 依赖项,并且由于脚本流依赖于将这些依赖项之一复制到不同的位置,因此它需要知道该依赖项安装在哪里。
我如何找到(通过 API 或 npm CLI)主机 node_modules
中安装的依赖项在哪里?
参见 。此回答仅供参考
您可以使用 npm ls
with the --parseable
标志,这将:
Show parseable output instead of tree view.
例如:
$ npm ls my-dep -p
/Users/my-user/dev/host-project/node_modules/my-dep
你应该知道这个命令也会输出一些不相关的错误到标准输出(例如关于无关的安装)——要解决这个问题,激活 --silent
标志(见 loglevel
在文档):
$ npm ls my-dep -ps
在您的 npm 脚本中,可以使用 child process 集成此命令,在这种情况下,它比 运行 没有 --silent
标志的命令 更可取 允许捕获任何错误。
如果捕获到错误,您可以决定它是否致命(例如,应忽略上述关于无关包的错误)。
我正在编写一个 npm 脚本,它被打包为一个 npm 包,将主要可执行文件暴露给 node_modules/.bin
到它的托管项目。
此脚本有自己的 npm 依赖项,并且由于脚本流依赖于将这些依赖项之一复制到不同的位置,因此它需要知道该依赖项安装在哪里。
我如何找到(通过 API 或 npm CLI)主机 node_modules
中安装的依赖项在哪里?
参见
您可以使用 npm ls
with the --parseable
标志,这将:
Show parseable output instead of tree view.
例如:
$ npm ls my-dep -p
/Users/my-user/dev/host-project/node_modules/my-dep
你应该知道这个命令也会输出一些不相关的错误到标准输出(例如关于无关的安装)——要解决这个问题,激活 --silent
标志(见 loglevel
在文档):
$ npm ls my-dep -ps
在您的 npm 脚本中,可以使用 child process 集成此命令,在这种情况下,它比 运行 没有 --silent
标志的命令 更可取 允许捕获任何错误。
如果捕获到错误,您可以决定它是否致命(例如,应忽略上述关于无关包的错误)。