如何启动全局安装的节点应用程序?

时间:2016-06-01 12:11:46

标签: node.js windows git-bash

我开发了一个小应用程序。

我这样做是为了全局安装开发的模块:

npm install . -g

我收到了这个回复:

$ npm install -g .
update-deps-dev@1.0.0 C:\Users\Vladislav.Sharikov\AppData\Roaming\npm\node_modul
es\update-deps-dev

我已经安装了我的模块,其中存储了其他全局安装的模块。此外,我的模块可通过以下方式获得:

npm ls -g --depth=0

现在,我想从我电脑上的任何地方启动这个模块。我该怎么做?

我试着跑,但得到这个:

Vladislav.Sharikov@PC /D/Dev
$ update-deps-dev
sh: update-deps-dev: command not found

我正在使用Windows 7 x64 + Git Bash。

我应该如何启动我的全局安装的节点应用程序?

我的package.json文件内容:

{
  "name": "update-deps-dev",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "adm-zip": "^0.4.7",
    "fs": "0.0.2",
    "https": "^1.0.0",
    "q": "^1.4.1",
    "shelljs": "^0.7.0"
  }
}

1 个答案:

答案 0 :(得分:1)

不确定git bash。但是在跨平台方式中,您可以简单地在包json上定义bin字段,以告诉npm稍后在命令行上生成二进制文件。它在windows,mac,linux上运行正常。

请注意,它是每用户二进制文件。如果您正在使用linux,则无法将其安装到/usr/bin,但根据您的系统,更可能是~/node_modules/bin

假设您的二进制文件已定义到bin.js文件中,您只需添加一个新的对象字段bin,并希望定义一个密钥,二进制文件的名称及其值的foreach bin必须指向bin文件相对于包文件的路径:

{
  "name": "update-deps-dev",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "bin": {
    "update-deps-dev": "./bin.js"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "adm-zip": "^0.4.7",
    "fs": "0.0.2",
    "https": "^1.0.0",
    "q": "^1.4.1",
    "shelljs": "^0.7.0"
  }
}

另请阅读,