Node.js 使用NPM打包和分发Bash脚本,以允许全局安装到开发人员工作站';s路径与npm安装

Node.js 使用NPM打包和分发Bash脚本,以允许全局安装到开发人员工作站';s路径与npm安装,node.js,bash,rest,automation,npm,Node.js,Bash,Rest,Automation,Npm,我有一些脚本,我想与npm一起分发,以便开发人员能够在其工作站上全局安装,然后在其开发工作流中使用其计算机上的脚本命令 但是,我不知道如何让npm将其包中的脚本实际添加到路径中 我看到firebase工具的package.json中包含以下内容: "preferGlobal": true, "bin": { "firebase": "./bin/firebase" }, …但我不太清楚这与我的项目有什么关系 我试图与npm一起发布的第一个项目是控制Belkin WeMo灯开

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

但是,我不知道如何让npm将其包中的脚本实际添加到路径中

我看到firebase工具的package.json中包含以下内容:

  "preferGlobal": true,
  "bin": {
    "firebase": "./bin/firebase"
  },
…但我不太清楚这与我的项目有什么关系

我试图与npm一起发布的第一个项目是控制Belkin WeMo灯开关,它包括一个可执行文件“WeMo”和一个包含的functions.inc.sh文件,如下所示@

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

谢谢


James

放入
包的
bin
键中的任何键/值对。json
将被符号链接到NPM bin dir路径中

是您希望命令命名的,而
部分是它应该运行的包中的脚本

因此,在您的示例中,当
npm安装
完成运行时,它将创建一个从
[package install path]/bin/firebase
/usr/local/bin/firebase
的符号链接(或者无论npm使用什么bin目录前缀(
npm bin-g
都会告诉您它在哪里)

如果只有一个脚本,还可以执行以下操作: { “姓名”:“我的超赞套餐”, “bin”:“../myscript.sh” }

它将把
myscript.sh
符号链接到
myawesome包

尽管您应该小心包含bash脚本,因为它们在Windows上不起作用

以下是这方面的建议