使用NPM打包和分发Bash脚本,以允许使用npm install全局安装到开发人员工作站的路径中

时间:2015-10-23 15:28:54

标签: node.js bash rest automation npm

我想用npm分发一些脚本,以便开发人员能够在他们的工作站上全局安装,然后在他们的开发工作流程中使用他们计算机上的脚本命令。

我无法弄清楚如何让npm实际将其包中的脚本添加到路径中。

我看到firebase工具在他们的package.json中有这个:

  "preferGlobal": true,
  "bin": {
    "firebase": "./bin/firebase"
  },

......但我无法弄清楚这与我的项目有什么关系。

我试图用npm分发的第一个项目是用于控制Belkin WeMo灯开关,它包括一个可执行的' wemo'以及一个包含的functions.inc.sh文件,可以看到@ https://github.com/agilemation/Belkin-WeMo-Command-Line-Tools.git

如果有人能指出我正确的方向,我们将非常感激!!!

谢谢,

詹姆斯

1 个答案:

答案 0 :(得分:1)

放置在bin的{​​{1}}键中的任何键/值对都将符号链接到NPM bin-dir路径中。

package.json是您希望命名的命令,key部分是您应该运行的包中的脚本。

Ergo,在您的示例中,当value完成运行时,将创建从npm install[package-install-path]/bin/firebase的符号链接(或NPM正在使用的任何bin目录前缀(/usr/local/bin/firebase会告诉你这是什么)。

如果您只有一个脚本,您也可以这样做:     {          “名字”:“我很棒的包裹”,          “bin”:“。/ myscript.sh”     }

它将符号链接npm bin -g添加到myscript.sh

虽然您应该警惕包含bash脚本,因为它们无法在Windows上运行。

以下是docs