个人博客 个人博客
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

董先亮

前端react开发
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • homebrew
  • yarn
    • 安装依赖
    • 升级依赖包
    • 移除依赖
    • 查看全局安装
    • 缓存
    • 配置信息
  • npm
  • eslint
  • prettier
  • lint-staged
  • pretty-quick
  • husky
  • commitlint
  • pnpm
  • npx
  • vite
  • git
  • iTerm配置
  • Mac常见问题
  • 工具
NeverStop1024
2022-08-29
目录

yarn

yarn的出现是解决了npm2,node_modules嵌套问题,多个包之间如果有共同依赖就要复制多份,非常浪费磁盘空间。
EMWBw6_8sjmvK
于是出现了yarn,采用扁平化的方案,将所有依赖平铺成了一层,大大节省了磁盘空间。npm3也采用了同样的方式。
YzwaL3_7IB6gp
yarn与npm3还存在两个问题没有解决

  1. 幽灵依赖,什么是幽灵依赖呢。
    • 比如我们项目只装了antd却可以使用moment,就是因为antd又依赖了moment,如果我们哪天不用antd,那我们项目中使用的moment就都会报错。这就是幽灵依赖。
  2. 依赖需要重复安装
    • 我们如果有100个项目,电脑上就会存在100个node_modules,如果都依赖了antd,就要装100次,也很浪费磁盘空间。那可不可以100个项目中相同的依赖只装一次呢? pnpm的出现同时解决了上面两个问题。 pnpm采用link软链接的方式,解决了上面两个问题。

# 安装依赖

  • 全局安装 yarn global add [package]
  • 安装到devDependencies yarn add -D [package]
  • 指定版本 yarn add [package]@[version]
  • 安装多个依赖 yarn add [package] [package] [package]

# 升级依赖包

  • 升级全局依赖 yarn global upgrade [package]
  • 升级到最新版 yarn upgrade [package]
  • 升级到指定版本 yarn upgrade [package]@[version]

# 移除依赖

  • 局部 yarn remove [package]
  • 全局 yarn global remove [package]

# 查看全局安装

  • 查看全局安装位置 yarn global dir
  • 查看全局安装的依赖 yarn global list

# 缓存

  • 获取缓存列表 yarn cache list
  • 获取全局缓存位置 yarn cache dir
  • 清除缓存 yarn cache clean

# 配置信息

  • yarn config list 获取全部配置
{
  'version-tag-prefix': 'v',
  'version-git-tag': true,
  'version-commit-hooks': true,
  'version-git-sign': false,
  'version-git-message': 'v%s',
  'init-version': '1.0.0',
  'init-license': 'MIT',
  'save-prefix': '^',
  'bin-links': true,
  'ignore-scripts': false,
  'ignore-optional': false,
  registry: 'https://registry.npm.taobao.org/',
  'strict-ssl': true,
  'user-agent': 'yarn/1.22.19 npm/? node/v16.14.0 darwin x64',
  lastUpdateCheck: 1661781465443
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  • yarn config set key value -g 配置某项属性(-g 全局生效,不加-g只在当前项目生效)
    示例:yarn config set registry https://registry.npm.taobao.org -g 设置源
  • yarn config get key 获取某项配置
    示例:yarn config get registry 获取源
编辑 (opens new window)
#yarn#包管理工具
上次更新: 2022/11/06
homebrew
npm

← homebrew npm→

最近更新
01
mock使用
07-12
02
websocket即时通讯
07-12
03
前端面试题
07-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 NeverStop1024 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式