我对 npm
的了解是这样的:
它是 Node.js
应用程序的包管理器。这意味着当您的 Node 应用程序需要其他人的库/包时,您可以方便地使用 npm
来获取这些依赖项。
但我最近遇到了这个命令:
npm install -g cca
。
然后我在我的终端中输入 cca
,现在它启动了一些程序。
现在我的问题是 npm
如何安装可以通过终端访问的包?
我的意思是所有由 npm
安装的包都应该可以被 Node 应用程序代码访问(在 JavaScript 中)。这让我很困惑。
最佳答案
npm install
是一个复杂的命令——它具有(至少)三个主要功能:
从 Node 包内部(即包含
package.json
文件的目录,或其子目录),运行npm install
安装该包的所有声明的依赖项。它将这些下载的包粘贴在node_modules
中目录,它们都可以通过应用程序的 JavaScript 代码获得。同样,从 Node 包内部运行
npm install <package-name>
将从 npm 包存储库下载并安装一个命名包。它会再次将它放在node_modules
中。目录,以便该应用程序可以使用它。从任何地方,运行
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/