npm 和 yarn
踏歌行 2023-04-02
工具
包管理
阅读量:
npm是随同NodeJS一起安装的包管理工具。 yarn是它的竞争对手? 更喜欢用yarn,用它之后,出错少了很多。
# npm
使用npm需要 安装Node https://www.npmjs.com.cn/ npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表.
# node
node -v
查看版本- CMD中输入
where node
查询node位置 - node版本管理:nvm(A node.js version management)Github (opens new window)
# npm 常用命令
- 根据package.json下载
npm install
, - 下载单个包:
npm install xxx --save-dev
保存到 devDependencies - 编译:
npm run build
- 开发环境启动:
npm run start
# package.json 中版本规则
- ^: 只会执行不更改最左边非零数字的更新。 如果写入的是 ^0.13.0,则当运行 npm update 时,可以更新到 0.13.1、0.13.2 等,但不能更新到 0.14.0 或更高版本。 如果写入的是 ^1.13.0,则当运行 npm update 时,可以更新到 1.13.1、1.14.0 等,但不能更新到 2.0.0 或更高版本。
- ~: 如果写入的是 〜0.13.0,则当运行 npm update 时,会更新到补丁版本:即 0.13.1 可以,但 0.14.0 不可以。
: 接受高于指定版本的任何版本。
=: 接受等于或高于指定版本的任何版本。
- <=: 接受等于或低于指定版本的任何版本。
- <: 接受低于指定版本的任何版本。
- =: 接受确切的版本。
- -: 接受一定范围的版本。例如:2.1.0 - 2.6.2。
- ||: 组合集合。例如 < 2.1 || > 2.6。
- 可以合并其中的一些符号,例如 1.0.0 || >=1.1.0 <1.2.0,即使用 1.0.0 或从 1.1.0 开始但低于 1.2.0 的版本。
- 还有其他的规则:
- 无符号: 仅接受指定的特定版本(例如 1.2.1)。
- latest: 使用可用的最新版本。
# 全局安装
- 全局安装:
npm install XXX -g
或yarn global add XXX
- 全局安装路径:
C:\Users\XXX\AppData\Roaming\npm\
- 可以使用命令
npm root -g
查询全局安装路径 - 查看全局安装的包:
npm list --depth 0 -g
- 删除:
npm uninstall -g XXXX
- Yarn全局安装后,
yarn global bin
获取 yarn 全局安装包路径,添加到系统环境变量中。
# 缓存
查看缓存: npm cache dir
清理缓存:
explorer .
打开文件浏览器,删除node_modulesnpm cache clean –force
npm install
# 依赖冲突
Npm(v2):各种套娃 npm v3 版本之后,npm 采用了更合理的方式去解决之前的依赖地狱的问题。 npm v3 尝试把依赖以及依赖的依赖都尽量的平铺在项目根目录下的.
解决方法:改用yarn
# 换镜像地址
解决下包速度慢的问题 Npm config set registry=https://registry.npm.taobao.org/
# npx
npx 是 npm5.2.0版本新增的一个工具包,定义为npm包的执行者,相比 npm,npx 会自动安装依赖包并执行某个命令。
例子:npx create-react-app my-react-app
等于npm i -g create-react-app
和create-react-app my-react-app
# yarn
# 基础
yarn add XX –-dev
安装到devDependencies