NPM 包管理器
约 1310 字大约 4 分钟
2025-03-15
npm(Node Package Manager)
是 Node.js
的标准包管理器,用于安装、发布、管理JavaScript包和依赖关系。类似于 java 中的 maven。
NPM 允许开发者轻松地下载、安装、共享、管理项目的依赖库和工具。
NPM 是 Node.js 自带的包管理工具,因此,通常你只需安装 Node.js,NPM 就会自动安装在系统中。
一、核心功能
包管理 npm 使开发者能够从 npm 注册表中下载、安装和管理 JavaScript 库和工具包。通过简单的命令行操作,开发者可以安装依赖、更新包版本和删除包。
依赖管理 npm 允许你在项目中管理项目的依赖包,并确保项目中使用的每个包版本都可以自动解析。每个项目都包含一个
package.json
文件,其中定义了项目的依赖项、脚本、元数据等内容。版本控制 npm 允许开发者为每个安装的包指定版本号,确保项目的稳定性。在项目中使用
package.json
和package-lock.json
文件,确保每个开发者和部署环境中安装的依赖包版本一致。脚本运行 npm 允许在
package.json
中定义和运行自定义的脚本(例如构建、测试、部署等)。通过运行npm run <script-name>
命令,可以执行这些自定义脚本,简化开发流程。
二、两个重要文件
1、package.json
这是每个 Node.js 项目必备的配置文件,记录了项目的元数据和依赖信息。它包含:
- 项目名称、版本、描述等信息
"dependencies"
:项目的生产环境必需的依赖包"devDependencies"
:开发环境依赖的包,不需要生产环境安装的包"scripts"
自定义脚本,如构建、测试、启动 等命令- 配置信息、许可证和作者信息等
2、package-lock.json
该文件记录了项目中每个依赖的具体版本,并锁定依赖树的结构。确保在不同机器上安装依赖时,所有的开发环境和生产环境都能一致地获取相同版本的依赖包。同时因为指定了版本号,也提升了依赖包的安装速度
三、常见命令
1、安装(install
)
安装依赖包到项目下,可以安装指定名字、指定版本的依赖包,也可以根据package.json
和package-lock.json
文件安装项目所需的全部依赖包。其主要参数为:
package_name:依赖包名,可以通过
package_name@1.2.10
安装指定版本、也可以使用package_name@4.x
、package_name@4.1.x
安装某个范围内的最新版本。npm i npm install npm install package_name npm install package_name@1.2.10 npm install package_name@4.x npm install package_name@4.1.x
^ 的用法
^
指明的版本范围,只要不修改[major, minor, patch]
三元组中,要确定^
版本包含的范围,先要找到 最左侧的第一个非 0 位,只有在这一位右侧的变动,才被包含在这个^
指定的范围内。举个例子:- ^1.2.3 版本包括:>= 1.2.3 并且 < 2.0.0
- ^0.2.3 版本包括:>= 0.2.3 并且 < 0.3.0
- ^0.0.3 版本包括:>= 0.0.3 并且 < 0.0.4
--save, -s:本地安装,安装到项目下,添加到
dependencies
,意思为生产环境必须的依赖。npm install package_name -s npm install package_name --save
--save-dev, -d:本地安装,安装到项目下,添加到
devDependencies
,意思为本地开发环境所需。npm install package_name -d npm install package_name --save-dev
-g:全局安装,安装到当前 window 用户下,不会添加到
package.json
和package-lock.json
中,通常保存在用户下的目录中npm install package_name -g
2、卸载(uninstall
)
卸载指定的依赖包
npm uninstall package_name
3、更新(update
)
更新单个依赖
npm update <package-name>
更新所有依赖(不推荐,因为这可能会破坏项目)
npm update
更安全的做法是查看当前版本和最新版本,然后手动更新或使用如下命令:
npm update <package-name>@latest
4、查看可用更新(outdated
)
查看项目下可用的更新
npm outdated
5、查看已安装列表(list
)
查看项目下或者全局安装的包:
npm list npm list -g
6、初始化(init
)
初始化当前目录为 NPM 工程
npm init
7、发布(publish
)
发布当前项目到 NPm 库
npm publish
8、运行(run
)
运行某个脚本
npm run dev #启动dev脚本
9、搜索(search
)
搜索安装目录内的某个包,并查看详细信息
npm search package_name
10、查看(get
)
查看 NPM 下载的全局模块的安装路径
npm get prefix
查看 NPM 缓存的存放路径
npm get cache
11、配置(config
)
配置镜像
npm config get registry npm config set registry=https://registry.npmmirror.com/ npm config set registry=https://registry.npmjs.org/
修改 NPM 缓存的存放路径
npm config set cache "D:\tools\Node.js\node_cache"
查看 NPM 下载的全局模块的安装路径
npm config set prefix "D:\tools\Node.js\node_global"
更新日志
e7112
-1于