【问题标题】:NPM: module installation for a command line node tool?NPM:命令行节点工具的模块安装?
【发布时间】:2013-08-13 18:38:59
【问题描述】:

我有一个用 node.js 编写的命令行工具。我愿意:

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

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

【问题讨论】:

    标签: node.js command-line npm


    【解决方案1】:

    您可以在 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"
    },
    ...
    

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

    希望对您有所帮助... :)

    【讨论】:

    • 我从你的问题中解释的另一件事是你想从任何目录运行模块,而不管它的依赖项安装在哪里。对吗?
    • 如何从本地 repo 全局安装我的模块,以便测试它的工作原理?
    • 你可以npm pack 然后做一个npm i -g pack.tgz
    猜你喜欢
    • 2023-04-01
    • 2022-01-03
    • 2018-10-14
    • 2015-12-21
    • 2014-03-15
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2013-03-08
    相关资源
    最近更新 更多