如何从已安装的NPM包中运行脚本?

时间:2015-02-24 08:04:58

标签: node.js npm

示例:

npm install my-tools
npm run my-tools tool1

这不起作用 - 它在我当前目录中查找“package.json。”npm run“的文档说:

  

如果没有提供包名,它将在中搜索package.json   当前文件夹

https://docs.npmjs.com/cli/run-script

那么如何提供包名?

1 个答案:

答案 0 :(得分:2)

您似乎正在尝试运行package.json my-tools中定义的脚本。自npm@2.0.0起支持此功能。

npm run-script提取包名称的引用是文档错误;我在npm问题跟踪器上为此创建了一个问题:https://github.com/npm/npm/issues/7440

一些替代方案可能包括:

  1. 使用npm explore临时将当前目录(等)设置到包中,例如npm explore my-tools -- npm run tool1

  2. tool1而不是bin中将package.json条目作为scripts条目发布;这将使它们可以通过命令行访问

  3. 根据您的需求,您可能会发现一个更重量级的任务运行器,例如gruntnpm脚本和二进制文件更好的方法