yarn
  yarn的出现是解决了npm2,node_modules嵌套问题,多个包之间如果有共同依赖就要复制多份,非常浪费磁盘空间。
 
于是出现了yarn,采用扁平化的方案,将所有依赖平铺成了一层,大大节省了磁盘空间。npm3也采用了同样的方式。
 
 yarn与npm3还存在两个问题没有解决
- 幽灵依赖,什么是幽灵依赖呢。
- 比如我们项目只装了antd却可以使用moment,就是因为antd又依赖了moment,如果我们哪天不用antd,那我们项目中使用的moment就都会报错。这就是幽灵依赖。
 
 - 依赖需要重复安装
- 我们如果有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
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)
  上次更新: 2022/11/06