示例:
npm install my-tools
npm run my-tools tool1
这不起作用 - 它在我当前目录中查找“package.json。”npm run“的文档说:
如果没有提供包名,它将在中搜索package.json 当前文件夹
(https://docs.npmjs.com/cli/run-script)
那么如何提供包名?
答案 0 :(得分:2)
您似乎正在尝试运行package.json
my-tools
中定义的脚本。自npm@2.0.0
起支持此功能。
对npm run-script
提取包名称的引用是文档错误;我在npm
问题跟踪器上为此创建了一个问题:https://github.com/npm/npm/issues/7440
一些替代方案可能包括:
使用npm explore
临时将当前目录(等)设置到包中,例如npm explore my-tools -- npm run tool1
在tool1
而不是bin
中将package.json
条目作为scripts
条目发布;这将使它们可以通过命令行访问
根据您的需求,您可能会发现一个更重量级的任务运行器,例如grunt
比npm
脚本和二进制文件更好的方法