2020-12-10 | 使用指南 | UNLOCK | 更新时间:2022-12-2 9:14

Yarn的命令集和及相关的问题

yarn

Yarn 是一个包依赖管理工具,由Facebook提供取代npm的工具

npm install -g yarn

常用命令

yarn -v     # 获取yarn的版本
yarn init   # 初始化项目
yarn list   # 列举项目包

# 安装模块包
yarn add xxx             // 默认生产依赖 dependencies
yarn add xxx@[version]
yarn add xxx@[tag]
yarn add xxx --dev       // 开发依赖 devDependencies
yarn add xxx --peer      // peerDependencies
yarn add xxx --optional  // optionalDependencies
yarn install  // 安装 yarn.lock 上所有依赖(可以缩略为 yarn )
yarn global add xxxx     // 全局安装

# 更新模块包
yarn upgrade xxx
yarn upgrade xxx@[version]
yarn upgrade xxx@[tag]

# 删除重复依赖项
yarn dedupe

# 卸载模块包
yarn remove xxx

# 清除缓存
yarn cache clean

# 用户自定义命令
yarn xxx      // 类似 npm run xxx

# 全局配置命令
yarn config list

相关工具

镜像源管理

nrm 是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换

npm install nrm -g

nrm ls       #查看nrm的镜像源列表和当前源
nrm use xxx  #切换到xxx的印象源

nrm add xxx http://xxx.cn/ #新增映射源
nrm del xxx  #删除指定的xxx映射源
nrm test npm #测试相应的源的相应时间

配置全局安装目录

为了个C盘腾出空间,不往C盘装模块, 切换目录后,把之前的目录的文件全部剪切过来

yarn config set cache-folder "E:\Node\yarn_cache"
yarn config set global-folder "E:\Node\yarn_global"

问题

安装出现报错:Unexpected token \u0000 in JSON at position 0

环境错误,执行了错误的缓存,执行命令清除错误缓存代码

yarn cache clear

报错 Cannot find module ‘D:\node\node_modules\node_global\node_modules\yarn\bin\yarn.js’

应该是修改全局路径错误导致 yarn 找不到 yarn 的执行环境导致,重现全局安装一遍 yarn

npm install -g yarn

报错 “文件名、目录名或卷标语法不正确”

全局安装目录和和bin目录不在同一分区导致的

yarn global bin #查看bin目录
yarn global dir #查看安装目录
yarn config set cache-folder "E:\Node\yarn_cache"
yarn config set global-folder "E:\Node\yarn_global"