摘要:在本教程中,您将学习有关 npm 的知识以及如何使用 npm CLI 安装新软件包。
npm 简介
Npm 代表 **N**ode **P**ackage **M**anager。它是 Node JavaScript 平台的包管理器。
Npm 被称为世界上最大的软件注册表。来自世界各地的开源开发人员使用 npm 发布和共享他们的源代码。
Npm 由三个部分组成
- 网站 允许您查找第三方软件包、设置配置文件以及管理您的软件包。
- 从终端运行的命令行界面或 npm CLI,允许您与 npm 交互。
- 注册表是一个大型的公共 JavaScript 代码数据库。
要在您的计算机上找到 npm CLI,您需要从终端运行 npm
命令。
npm
Code language: JavaScript (javascript)
例如,以下命令将显示您系统上的当前 npm 版本
npm -v
Code language: JavaScript (javascript)
您可以使用 npm 做什么?
npm 允许您从注册表安装新的软件包。这是您使用 npm 时最常做的事情。
除此之外,npm 还允许您发现和发布新的 Node 软件包。
package.json
一般来说,每个 npm 项目都有一个名为 package.json
的文件,位于根目录中。package.json
是一个纯文本文件,其中包含 npm 用于识别项目和处理依赖项的重要信息。
要创建 package.json
文件,您需要转到项目的根目录并执行以下命令
npm init
Code language: JavaScript (javascript)
当您运行 npm init
命令时,它会提示您输入项目信息,包括
- 包名称
- 版本
- 测试命令
- Git 仓库
- 关键词
- 作者
- 许可证
如果您按下 Return
或 Enter
,它将接受默认值并继续下一个提示。
如果您想使用默认选项,您可以使用以下命令
npm init --yes
Code language: JavaScript (javascript)
稍后,您可以在 package.json
中更改默认值。
安装新的软件包
要安装新的软件包,您可以使用以下 npm install
命令
npm install <package_name>
Code language: JavaScript (javascript)
在此命令中,您将软件包名称放在 npm install
关键字之后。
要查找软件包,您可以转到 npm 网站 并搜索它们。
例如,如果您想安装 express
软件包,您可以运行以下命令
npm install express
Code language: JavaScript (javascript)
注意,express
是 Node 的一个快速 Web 框架。
安装完成后,您将在项目的根目录下看到一个名为 /node_modules
的新目录。您安装的所有新模块都将放置在此目录中。
如果您展开 /node_modules
目录,您会发现 npm 不仅安装了 express
,还安装了 express
的依赖项,以及这些依赖项的依赖项,等等。
如果您在项目的根目录中打开 package.json
文件,您还会发现 dependencies
部分已更新,其中包括 express
软件包,如下所示
"dependencies": {
"express": "^4.17.1"
}
Code language: JavaScript (javascript)
一般来说,您安装的任何新软件包都将在 dependencies
部分列出。在本例中,依赖项包括版本为 4.17.1 的 express
软件包。请注意,Npm 遵循 语义版本控制规范。
为了节省一些输入,您可以使用 npm install
命令的简短版本
npm i <package_name>
Code language: JavaScript (javascript)
在此命令中,i
代表 install
。
将软件包作为开发依赖项安装
有时,您可能希望安装仅在开发环境中运行的软件包。
例如,您可能希望安装一个记录 HTTP 请求的软件包,例如 morgan
软件包。
为此,您需要使用以下语法,在 npm install
命令中使用 --save-dev
选项
npm install <package_name> --save-dev
Code language: JavaScript (javascript)
例如
npm install morgan --save-dev
Code language: JavaScript (javascript)
此命令将下载并安装 morgan
软件包。此外,它还会在 package.json
文件中添加一个名为 devDependencies
的新部分,如下所示
"devDependencies": {
"morgan": "^1.10.0"
}
Code language: JavaScript (javascript)
基本上,devDependencies
应该包含您在开发过程中使用的软件包。这些软件包仅在您开发应用程序时才需要。
另一方面,dependencies
应该包含您的应用程序将依赖的软件包。换句话说,如果没有这些 dependencies
软件包,您的应用程序将无法工作。
此外,您可以执行 npm install
命令来下载并安装 dependencies
和 devDependencies
部分列出的所有软件包
npm install
Code language: JavaScript (javascript)
在您的系统上全局安装软件包
要在您的系统上全局安装软件包,您可以使用以下命令
npm install <package_name> --global
Code language: JavaScript (javascript)
或者简短地
npm i <package_name> -g
Code language: JavaScript (javascript)
通常,当您想在命令行或 shell 中使用软件包时,您会全局安装它。
如果您想要包含在应用程序中的软件包,则应在本地安装它。
总结
- Npm 是 Node JavaScript 平台的包管理器。
- 使用
npm install <package_name>
安装新的软件包。 - 使用
npm install <package_name> --save-dev
将新的软件包作为开发依赖项安装。 - 使用
npm install <package_name> -g
全局安装软件包。