NPM:命令行节点工具的模块安装?

时间:2013-08-13 10:16:42

标签: node.js command-line npm

我有一个用node编写的命令行工具。我想:

  • 让应用程序能够加载其依赖项并正常工作。目前,在npm install -g <somemodule>该模块仍然无法使用之后。事情不习惯这样。
  • 不必在每个文件夹上运行npm link,正如我在NPM 1.0 docs中所读到的那样。上面的文档还讨论了$ PATH,这似乎与主题无关,因为我关心的是节点模块,而不是二进制文件。

节点命令行工具如何/应该如何处理其依赖项,以便命令行工具可以从任何目录运行?

1 个答案:

答案 0 :(得分:3)

您可以在node.js应用的主文件中添加以下内容,假设您的文件名为node-binary.js

#! /usr/bin/env node

// your app code
console.log('TEST node binary');

并且,在package.json文件中,您需要指定哪个是您应用的入口点

...
"preferGlobal": "true",
"bin": {
    "node-binary": "node-binary.js"
},
...

并在app目录中运行命令npm link。您现在应该可以从任何目录使用node-binary命令。

希望有帮助......:)