如何使 bin 脚本可用于本地安装的 npm 包
How to make bin script available for npm package installed locally
我在 npm 文档上看到您不能使用本地安装包的 bin 脚本。
那么,gulp
如何在本地安装时作为 bin 命令启动?
是什么让它在本地安装时可用,我查看了 gulp
package.json
和 bin 脚本,我没有找到任何答案。
To use this, supply a bin field in your package.json which is a map of command name to local file name. On install, npm will symlink that file into prefix/bin for global installs, or ./node_modules/.bin/ for local installs.
因此,您本地安装的软件包二进制文件将像这样可执行
./bin/node_modules/.bin/the_binary
这是如果你想直接启动二进制文件。或者,如 the scripts part of the documentation:
中指定
In addition to the shell's pre-existing PATH, npm run adds node_modules/.bin to the PATH provided to scripts.
因此,您可以简单地编写一个包装脚本,例如
scripts: {
"build": "the_binary"
}
并像这样调用你的脚本
npm run build
奖金
As of npm@2.0.0, you can use custom arguments when executing scripts. The special option -- is used by getopt to delimit the end of the options. npm will pass all the arguments after the -- directly to your script:
npm run test -- --grep="pattern"
您可以使用 lpx https://www.npmjs.com/package/lpx 来
- 运行 在本地 node_modules/.bin 文件夹中找到的二进制文件
- 运行 在工作区根目录的 node_modules/.bin 中从工作区的任何位置找到的二进制文件
如果在本地找不到二进制文件(即不像 npx),lpx 不会下载任何包
示例:lpx tsc -b -w
将 运行 tsc -b -w
与本地打字稿包
我在 npm 文档上看到您不能使用本地安装包的 bin 脚本。
那么,gulp
如何在本地安装时作为 bin 命令启动?
是什么让它在本地安装时可用,我查看了 gulp
package.json
和 bin 脚本,我没有找到任何答案。
To use this, supply a bin field in your package.json which is a map of command name to local file name. On install, npm will symlink that file into prefix/bin for global installs, or ./node_modules/.bin/ for local installs.
因此,您本地安装的软件包二进制文件将像这样可执行
./bin/node_modules/.bin/the_binary
这是如果你想直接启动二进制文件。或者,如 the scripts part of the documentation:
中指定In addition to the shell's pre-existing PATH, npm run adds node_modules/.bin to the PATH provided to scripts.
因此,您可以简单地编写一个包装脚本,例如
scripts: {
"build": "the_binary"
}
并像这样调用你的脚本
npm run build
奖金
As of npm@2.0.0, you can use custom arguments when executing scripts. The special option -- is used by getopt to delimit the end of the options. npm will pass all the arguments after the -- directly to your script:
npm run test -- --grep="pattern"
您可以使用 lpx https://www.npmjs.com/package/lpx 来
- 运行 在本地 node_modules/.bin 文件夹中找到的二进制文件
- 运行 在工作区根目录的 node_modules/.bin 中从工作区的任何位置找到的二进制文件
如果在本地找不到二进制文件(即不像 npx),lpx 不会下载任何包
示例:lpx tsc -b -w
将 运行 tsc -b -w
与本地打字稿包