node.js - 如何使用 npm 安装甚至不在 Node 应用程序中使用的全局包?

标签 node.js npm google-chrome-app

我对 npm 的了解是这样的:

它是 Node.js 应用程序的包管理器。这意味着当您的 Node 应用程序需要其他人的库/包时,您可以方便地使用 npm 来获取这些依赖项。

但我最近遇到了这个命令:

npm install -g cca

然后我在我的终端中输入 cca,现在它启动了一些程序。

现在我的问题是 npm 如何安装可以通过终端访问的包? 我的意思是所有由 npm 安装的包都应该可以被 Node 应用程序代码访问(在 JavaScript 中)。这让我很困惑。

最佳答案

npm install是一个复杂的命令——它具有(至少)三个主要功能:

  1. 从 Node 包内部(即包含 package.json 文件的目录,或其子目录),运行 npm install安装该包的所有声明的依赖项。它将这些下载的包粘贴在 node_modules 中目录,它们都可以通过应用程序的 JavaScript 代码获得。

  2. 同样,从 Node 包内部运行 npm install <package-name>将从 npm 包存储库下载并安装一个命名包。它会再次将它放在 node_modules 中。目录,以便该应用程序可以使用它。

  3. 从任何地方,运行 npm install -g <package-name>将下载并安装一个命名包全局。这意味着它会安装到您系统的 node_modules 目录中,并且可供所有 Node 包使用。

第三种用法,与 -g 一起,也用于命令行实用程序(与库相对)。当使用 -g 安装时,包可以做一些事情,比如在/usr/local/bin 中安装新命令,或者安装手册页。然后可以从 shell 运行这些命令。

这就是cca当您安装它时,这就是我们建议使用 -g 安装的原因;这样你就可以使用 cca命令从任何地方创建应用程序,而不是因为它是一种打包实用程序。

关于node.js - 如何使用 npm 安装甚至不在 Node 应用程序中使用的全局包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22761967/

相关文章:

google-chrome-extension - 如何使用JavaScript从Google日历页面获取事件ID?

javascript - Chrome Apps <a> 标签不工作

javascript - chrome扩展内容脚本无法按类获取元素

node.js - 使用 WebStorm 进行 NodeJs 调试 - org.jetbrains.v8.protocol.V8ProtocolReaderImpl$Mi 无法转换为 org.jetbrains.v8.protocol.ValueHandle

node.js - 显示当前使用 node/express/socket.io 构建的聊天中的用户

node.js - GitHub 检测到依赖项中的漏洞,但我运行了 npm update 并且依赖项没有更新?

javascript - NVM:如何全局设置节点版本?

javascript - Nodejs 中 setInterval 的问题

node.js - 如何在 Node-Express/Vue Web 应用程序中管理 OAuth?

javascript - 错误 : Cannot find module 'socket.io-client/dist/socket.io.min.js'