你好同学,我是沐爸,欢迎点赞、收藏和关注!个人知乎、公众号"沐爸空间"
介绍
yarn 是由 Facebook 在2016年推出的新的 JavaScript 包管理工具,官网、中文网。
特点
官网介绍
- 速度超快。yarn 缓存了每个下载过的包,所以再次使用无需下载。同时利用并行下载最大化资源利用率,因此安装速度更快。
- 超级安全。在执行代码之前,yarn 会通过算法校验每个安装包的完整性。
- 超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,yarn 能够保证不同系统上无差别的工作。
安装
我们可以使用 npm 安装 yarn
npm i -g yarn
yarn --version
常用命令
功能 | 命令 |
---|---|
初始化 | yarn init yarn init -y |
安装包 | yarn add [packageName] 生产依赖【dependencies】 yarn add [packageName] --dev 开发依赖【devDependencies】 yarn global add [packageName] 全局安装 yarn add [packageName]@[version] 安装指定版本 |
卸载包 | yarn remove [packageName] 卸载项目依赖包 yarn global remove [packageName] 卸载全局包 |
更新包 | yarn upgrade [packageName] yarn upgrade [packageName]@latest 更新到最新版本 yarn upgrade [packageName]@[version] 更新到指定版本 |
安装项目依赖 | yarn yarn install |
运行脚本 | yarn <别名> # 不需要加 run |
查看包信息 | yarn info [packageName] |
yarn 与 npm 运行脚本时的区别:
# package.json
"scripts": {
"dev": "nodemon index.js"
}
npm run dev
yarn dev
yarn 全局安装注意事项
通过 yarn 全局安装的包在命令行中不可用,因为安装包所在的目录没有被添加到环境变量中。yarn 全局安装包的位置可以通过以下命令来查看:
yarn global bin
C:\Users\用户名\AppData\Local\Yarn\bin
复制全局安装包所在的目录,添加到环境变量中。关闭老的页面重新启动,就可以在命令行中使用新的全局包。
配置淘宝镜像
可以通过 yarn config list
查看 yarn 的配置项。
info yarn config
{
'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.yarnpkg.com',
'strict-ssl': true,
'user-agent': 'yarn/1.22.22 npm/? node/v20.10.0 win32 x64',
lastUpdateCheck: 1710750417831
}
info npm config
{
registry: 'https://registry.npmmirror.com/',
home: 'https://npmmirror.com'
}
yarn 默认镜像源为:https://registry.yarnpkg.com,可以通过以下命令修改为淘宝源:
yarn config set registry http://registry.npmmirror.com
创建与发布
1.创建包
yarn init -y
yarn init 后的 package.json
{
"name": "muba-sum",
"version": "1.0.2",
"description": "测试yarn发布",
"main": "index.js",
"author": "muba",
"license": "MIT"
}
main 选项用作程序代码的入口,默认是 index.js。创建 index.js:
const getSum = (a, b) => {
return a + b
}
module.exports = getSum
2.发布包
发布包之前,首先要注册 npm 账号。
登录账号
yarn login
=>
yarn login v1.22.22
question npm username: zhangsan
question npm email: zhangsan@qq.com
Done in 17.28s.
发布命令
yarn publish
注:发布包时,不用将镜像源改成 yarn 官方源或 npm 官方源,登录 npm 账号后直接可以 publish。
3.撤销发布
yarn 并没有 unpublish 命令来撤销已发布的包,需要使用 npm 的 npm unpublish packageName --force
命令撤销发布。
从 Npm 迁移到 Yarn
Npm 命令 | Yarn 命令 |
---|---|
npm install | yarn add |
npm install --no-package-lock | yarn add --no-lockfile |
npm install [packageName] --save | yard add [packageName] |
npm install [packageName] --save-dev | yarn add [packageName] --dev |
(N/A) | yarn add [packageName] --peer |
npm install [packageName] --global | yarn global add [packageName] |
npm update --global | yarn global upgrade |
npm rebuild | yarn add --force |
npm uninstall [packageName] | yarn remove [packageName] |
npm cache clean | yarn cache clean [packageName] |
关联文章: