1. npm 简介
npm(Node Package Manager)是 Node.js 生态系统中的核心组件,它不仅是一个包管理器,还是一个强大的开发工具和庞大的开源社区。自2010年首次发布以来,npm 已经成为世界上最大的软件注册表,拥有超过100万个包,每周下载量超过数十亿次。
1.1 npm 的历史和发展
npm 由 Isaac Z. Schlueter 创建,最初是为了简化 Node.js 模块的安装过程。随着时间的推移,它逐渐发展成为一个全面的包管理解决方案,不仅支持 Node.js 项目,还支持前端 JavaScript 项目。
2020年,GitHub 收购了 npm,这标志着 npm 进入了新的发展阶段,有望获得更多资源支持和功能改进。
1.2 npm 的核心功能
- 包管理:安装、更新、卸载包
- 依赖解析:自动处理包之间的依赖关系
- 版本控制:遵循语义化版本规范
- 脚本运行:通过 package.json 定义和运行脚本
- 发布管理:允许开发者发布自己的包到 npm 仓库
2. npm 的安装与基本配置
2.1 安装 Node.js 和 npm
虽然 npm 通常随 Node.js 一起安装,但有时您可能需要单独更新 npm。以下是在不同操作系统上安装和更新 npm 的方法:
Windows
- 从 Node.js 官网 下载并安装 Node.js
- 打开命令提示符,运行
npm -v
检查版本
macOS
- 使用 Homebrew 安装:
brew install node
- 或者从 Node.js 官网下载安装包
Linux
使用包管理器安装,例如 Ubuntu:
sudo apt update
sudo apt install nodejs npm
2.2 更新 npm
无论您的操作系统是什么,都可以使用以下命令更新 npm:
npm install -g npm@latest
2.3 npm 配置
npm 的配置可以通过命令行、环境变量或 .npmrc
文件来设置。以下是一些常用的配置项:
-
设置默认的包安装位置:
npm config set prefix /path/to/directory
-
设置代理(如果你在公司网络环境中):
npm config set proxy http://proxy.company.com:8080 npm config set https-proxy http://proxy.company.com:8080
-
设置私有仓库地址:
npm config set registry https://registry.your-company.com
-
查看所有配置:
npm config list
3. npm 的基础用法
3.1 初始化项目
使用 npm init
命令可以交互式地创建 package.json
文件:
npm init
如果你想使用默认值快速创建,可以使用:
npm init -y
package.json
文件是项目的核心,它包含了项目的元数据和依赖信息。以下是一个典型的 package.json
文件示例:
{
"name": "my-awesome-project",
"version": "1.0.0",
"description": "A project to demonstrate npm usage",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "jest"
},
"keywords": ["npm", "tutorial"],
"author": "Your Name <your.email@example.com>",
"license": "MIT",
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"jest": "^26.6.3"
}
}
3.2 安装依赖
在这里插入图片描述
npm 提供了多种安装依赖的方式,以满足不同的需求:
-
安装项目依赖:
npm install express
这会将 express 添加到
dependencies
中。 -
安装开发依赖: