- 我们在开发时,经常会用到很多别人已经写好的代码或第三方库,我们一般会这样操作:搜索,下载,解压,引入。 如果每次都这么做势必很麻烦,于是Node.js的设计者打造了一个包管理器:npm 一些第三方库的作者把代码放在npm上, 当我们想要使用时,直接通过 npm 命令去安装即可,不用去理会应该下载什么?放在哪里?一切都处理好。 而且如果我们要用的模块A,而模块A又依赖模块B,模块B又依赖模块C和D,那么npm会根据依赖关系,把所有依赖的包都下载下来并且管理起来。
- 1.npm全称:Node package manager(Node包管理器),安装了Node就自动安装好了npm。 2.包(库、项目):电脑上的一个普通文件夹,包含了package.json,就变成了一个符合npm规范的包。 3.使用命令:npm init把一个普通的文件夹变成一个包,即自动生成package.json
- 为了让你的npm下载东西更迅速,请务必执行以下命令 npm config set registry http://registry.npm.taobao.org/
- npm init -y 初始化包管理
- npm init
npm -v
返回当前npm的版本号 命令npm install xxxx
安装一个包的命令- npm install xxx -g 全局安装 (install 可以简写为 i)
- npm uninstall xxx -g 全局卸载
- npm uninstall 包名 --save 删除当前包 简写 -S 省略不写也表示局部删除
- --save 生产环境 简写 -S
- --dev 开发环境 简写 -D
- npm view 包名 versions 查看当前包的所有版本号
- npm ls 显示当前所在项目下 安装的所有包
- npm ls -g 显示电脑中全局安装的的所有包
- node_modules node模块 下载 依赖包 所处的文件地址
- package.json 文件包管理信息依赖
- package-lock.json 文件锁(下载的依赖明细)
- 查看当前 npm 源
npm config ls
- 查看下载源
npm get registry
- 切换下载源
npm config set registry https://registry.npmjs.org/
- 设置为淘宝源
npm config set registry http://registry.npm.taobao.org/
- 初始化包管理
yarn init
|yarn init -y
- 初始依赖下载
yarn
- 添加依赖
yarn add xxx
- 删除依赖
yarn remove xxx
- 初始化包管理
pnpm init
- 初始依赖下载
pnpm i
|pnpm init
- 添加依赖
pnpm add xxx
-S 默认写入dependencies -D 写入devDependencies -g 全局安装 - 删除依赖
pnpm remove xxx
--global 移除全局包 - 升级所有依赖
pnpm update
- 升级单个依赖
pnpm upgrade xxx
--global 更新全局包 - 查看可升级的依赖
pnpm outdated
-
devDependencies 用于开发环境
npm install name -save-dev
简写npm install name -D
- devDependencies是只会在开发环境下依赖的模块,生产环境不会被打入包内
-
dependencies 用于生产环境
npm install name -save
简写npm install name -S
- dependencies依赖的包不仅开发环境能使用,生产环境也能使用
- 锁定当前项目所有依赖和包的版本
- 报错信息 指明两个依赖之间不匹配导致无法下载所有依赖
- 场景:依赖A 1.0与依赖 B 1.0存在关联 但强制升级了B依赖到2.0 (强制升级
npm i xxx --force
) - 解决
- 1.使用yarn 进行依赖下载
- 2.强制下载依赖
npm i --force
- 场景:依赖A 1.0与依赖 B 1.0存在关联 但强制升级了B依赖到2.0 (强制升级