npm8中文文档
此命令允许您在与通过 npm run
运行类似的上下文中从 npm 包(本地安装或远程获取)运行任意命令。
在没有位置参数或 --call
的情况下运行,这允许您在与 package.json
脚本运行相同的 shell 环境中交互地运行命令。当标准输入是 TTY 时,CI 环境中不支持交互模式,以防止挂起。
--package
选项指定的任何包都将在执行命令的 PATH
中提供,以及任何本地安装的包可执行文件。--package
选项可以指定多次,以在所有指定包都可用的环境中执行提供的命令。
如果本地项目依赖项中不存在任何请求的包,则将它们安装到 npm 缓存中的文件夹中,该文件夹在执行过程中添加到 PATH
环境变量中。打印一个提示(可以通过提供 --yes
或 --no
来抑制)。
不带说明符的包名称将与本地项目中存在的任何版本匹配。仅当具有与本地依赖项完全相同的名称和版本时,带有说明符的包名称才会被视为匹配。
如果未提供 -c
或 --call
选项,则使用位置参数生成命令字符串。如果未提供 --package
选项,则 npm 将尝试根据以下启发式方法从作为第一个位置参数提供的包说明符中确定可执行文件名称:
package.json
的 bin
字段中有一个条目,或者如果所有条目都是同一命令的别名,则将使用该命令。bin
条目,其中一个与 name
字段的无范围部分匹配,则将使用该命令。name
),那么 npm exec
会以错误退出。要运行指定二进制文件以外的二进制文件,请指定一个或多个 --package
选项,这将阻止 npm 从第一个命令参数推断包。