NPM - Node Package Manager的首字母缩写,是指命令行实用程序,用于安装Node.js包,执行版本管理和Node.js包的依赖性管理。它还为node.js包/模块提供了一个在线存储库,这些包/模块可以在 https://www.npmjs.com/ 上搜索。此链接上还提供了 NPM 命令的详细文档。
如果您使用的是较新版本的 Node.js(版本 0.6.0 或更高版本),则 NPM 实用程序包含在所有操作系统平台捆绑包的Node.js二进制文件中。在命令终端中检查NPM的版本 -
如果您有旧版本的 NPM,则需要使用以下命令将其更新到最新版本。
请注意,YARN 和 PNPM 工具也可用作 NPM 的替代方案。YARN 可以更快地安装包,并在计算机之间或在安全的离线环境中一致地管理依赖项。PNPM(高性能 NPM)是另一个用于Node.js包的快速且磁盘空间高效的包管理器。
如果您的 Node.js 应用程序依赖于一个或多个外部包,则必须从 NPM 存储库安装它们。NPM 包以两种模式安装:本地或全局。默认情况下,包在本地安装。
在本地安装包
有一个简单的语法来安装任何Node.js模块 -
例如,以下是安装一个名为 express 的著名 Node.js Web 框架模块的命令 -
现在你可以在你的js文件中使用这个模块,如下所示 -
包的本地模式安装是指在位于 Node 应用程序所在的文件夹中的目录中node_modules包安装。本地部署的包可以通过 require() 方法访问。在 install 命令的末尾使用 --save 将依赖项条目添加到应用程序的package.json中。
package.json文件是一个 JSON 文件,用于管理Node.js项目中的依赖项。它包含有关项目的信息,例如其名称、版本和依赖项。npm 包管理器使用 package.json 文件来安装和管理依赖项。
package.json文件通常位于 Node.js 项目的根目录中。可以通过运行 npm init 命令来创建它。
为新的Node.js项目创建一个新文件夹,并在其中运行 pnm init 命令 -
此实用程序将指导您创建package.json文件。
即将写入 D:\nodejs\NewNodeApp\package.json -
现在,如果我们在这个项目中将 express 包本地安装到这个包中,使用以下命令,它也会在package.json中添加依赖项。
此文件夹中的package.json文件将更新为 -
快速包裹代码将被放置在包裹文件夹的 node_modules 子文件夹中。
如果您已经将所有项目依赖项放在 package.json 文件中,则只需运行 npm install(前面没有任何包名称)即可立即安装所有依赖项
您还可以在 npm install 命令中使用 -save-dev 标志将包添加为 DevDepndency。
- --save-dev 安装该条目并将其添加到package.json文件 devDependencies
- --no-save 会安装但不会将条目添加到package.json文件依赖项中
- --save-optional 安装并将条目添加到package.json文件 optionalDependencies
- --no-optional 将阻止安装可选依赖项
也可以使用标志的简写 -
- -S: --save
- -D:--save-dev
- -O:--save-optional
devDependencies 和 dependencies 的区别在于,前者包含开发工具,如测试库,而后者则与生产中的应用程序捆绑在一起。
全局安装软件包
全局安装的包/依赖项存储在系统目录中。这种依赖可以在任何node.js的 CLI(命令行界面)功能中使用,但不能直接在 Node 应用程序中使用 require() 导入。现在,让我们尝试使用全局安装来安装 express 模块。
这将产生类似的结果,但模块将在全球范围内安装。在 Linux 上,全局包放在 /usr/lib/node_modules 文件夹中,而对于 Windows,路径是 C:\Users\your-username\AppData\Roaming\npm\node_modules。
更新包
若要更新Node.js项目中本地安装的包,请在项目项目文件夹中打开命令提示符或终端,并编写以下更新命令。
以下命令会将现有的 ExpressJS 模块更新到最新版本。
卸载软件包
若要从项目的依赖项中卸载包,请使用以下命令从项目中删除本地包。
以下命令将从应用程序中卸载 ExpressJS。
包条目也将从package.json文件的依赖项列表中删除。