【问题标题】:When should i use npm with "-g" flag and why?我什么时候应该使用带有“-g”标志的 npm,为什么?
【发布时间】:2012-02-13 03:55:36
【问题描述】:

我最近开始使用 npm 进行 js 包管理。虽然我对不同环境中的包管理有相当的了解(比如说使用 apt、rvm/gem、pythonbrew/virtualenv/pip),但我不太了解 npm 是如何完全适应的。

我想更多地了解“-g”标志的工作原理以及为什么要使用它。 与大多数博客和 wiki 一样,他们在安装时提到使用“-g”而没有解释原因,我知道这些软件包是全局安装的。

  • 但我为什么要始终全局安装这些软件包?
  • 在没有“-g”标志的情况下安装这些软件包意味着什么?
  • 我该如何在本地安装包,比如为不同项目设置沙盒?
  • 那么,如果我需要它以通过版本控制将其签入(如果可能的话),我该如何列出项目中使用的 npm 包并将其捆绑到项目中?

【问题讨论】:

    标签: npm


    【解决方案1】:

    -g全局安装标志,如this answer 中所述。 this node blog post 有详细介绍。

    经验法则:

    • 如果软件包提供命令行工具,则全局安装
    • 如果您将软件包用作应用程序的一部分,请在本地安装
    • 如果两个用例都适用,则全局安装本地

    【讨论】:

    • 感谢您的回答。 “全局和本地安装”是否意味着我运行命令npm install -g http-server,然后在我的应用程序目录中运行npm install http-server
    【解决方案2】:

    虽然接受的答案是正确的,但请注意还有 npx 可以方便地运行本地工具。

    欲了解更多信息,请参阅https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2012-09-22
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多