【问题标题】:How can I create CLI app such as ng which is installed globally into the system?如何创建全局安装到系统中的 CLI 应用程序,例如 ng?
【发布时间】:2021-01-25 11:54:41
【问题描述】:

当我安装时

npm i ng -g

它是如何理解安装路径的?

实际上我想创建以类似方式安装和工作的应用程序

【问题讨论】:

    标签: javascript npm command-line-interface


    【解决方案1】:

    当您运行npm install --global 时,这通常(并非总是)用于公开 CLI 的包。如果是这种情况,您可以使用方便的 UNIX which 命令找出它的位置。

    例如,默认情况下,当您安装 NodeJs 时,npm 被安装为全局包。 因此,您几乎可以保证找到它,如下所示:

    $ which npm 
    /home/bguiz/.nvm/versions/node/v12.16.1/bin/npm
    

    您的路径将取决于许多因素,例如您的操作系统、您用于安装节点的方法、当前设置的环境变量、符号链接等。不管是什么,ls 没有bin/npm 的路径最后。

    $ ls /home/bguiz/.nvm/versions/node/v12.16.1/
    bin  CHANGELOG.md  include  lib  LICENSE  README.md  share
    

    这是“全局”节点目录。

    回到你原来的问题,关于ng 的安装位置。 将node_modules/${PACKAGE_NAME} 添加到全局节点目录,然后添加ls。 在我的示例中,这将是:

    $ ls /home/bguiz/.nvm/versions/node/v12.16.1/lib/node_modules/ng
    ls: cannot access '/home/bguiz/.nvm/versions/node/v12.16.1/lib/node_modules/ng': No such file or directory
    

    我没有全局安装ng,所以上面的ls 命令失败。但在您的情况下,您应该会看到 ng 软件包安装的内容。

    【讨论】:

      猜你喜欢
      • 2022-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多