Npm使用错误的运行命令安装global(my)模块

时间:2014-09-29 16:16:55

标签: node.js npm

我正在创建一个我想要全局安装的模块,package.json

{
  "name": "my-module",
  "description": "My module",
  "version": "0.1.0",
  "repository": {
    "type": "git",
    "url": "..."
  },
  "bugs": {
    "url": "..."
  },
  "files": [
    "lib",
    "public",
    "README.md",
    "index.js",
    "my-module.js",
    "package.json",
    "tests"
  ],
  "engines": [
    "node >= 0.10.0"
  ],
  "license": "MIT",
  "dependencies": {
   ....     
  },
  "scripts": {},
  "devDependencies": {},
  "bin": {
    "module": "./module.js"
  }
}

所以我在安装后(在Windows上)将它发布到npm注册表: 我在全局npm模块中有不正确的文件:

my-module:
"$basedir/node_modules/my-module/my-module.js"   "$@"
exit $?

my-module cmd:
"%~dp0\node_modules\my-module\my-module.js"   %*

虽然其他已安装的全局程序包在其cmd文件中包含更多代码。

我的包json可能有问题吗?但我查看了其他模块的package.json文件,但无法解决问题。

1 个答案:

答案 0 :(得分:0)

我发现它,bin模块(my-module.js)应该在第一行包含注释:

#!/usr/bin/env node