Yarn 是一个现代的包管理工具,用于管理项目的依赖关系。它是由 Facebook 开发并维护的,旨在改进和替代 npm(Node.js 包管理工具)的某些方面。以下是关于 Yarn 的一些重要信息:
-
性能改进: Yarn 在包的下载和安装方面相对于 npm 有更好的性能,尤其是对于大型项目。它使用并行下载和本地缓存等技术来提高效率。
-
确定性依赖: Yarn 采用了锁文件(
yarn.lock)来确保在不同环境中依赖项的版本是一致的,从而避免了版本冲突问题。这有助于确保在不同开发环境中构建的项目是一致的。 -
离线模式: Yarn 允许在没有互联网连接的情况下使用本地缓存的包。这对于开发人员在飞行或者网络连接不稳定的情况下仍然能够工作很有帮助。
-
工作空间: Yarn 提供了工作空间(Workspaces)功能,使得管理多个相关项目(例如,多个包共同开发的 monorepo)变得更容易。
-
插件系统: Yarn 允许用户通过插件来扩展其功能,以满足特定项目的需求。
常用命令
-
yarn install:安装项目的所有依赖项。它会根据
package.json和yarn.lock文件确保依赖的版本一致性。 -
yarn add <package>:添加一个新的依赖包到项目中。例如,
yarn add lodash将安装 lodash 包并将其添加到package.json的依赖中。 -
yarn remove <package>:从项目中移除一个依赖包。例如,
yarn remove lodash将从package.json中移除 lodash 包,并删除相关的依赖。 -
yarn upgrade <package>:升级特定依赖包到其最新版本。例如,
yarn upgrade lodash将 lodash 包升级到最新版本。 -
yarn upgrade:升级所有依赖包到它们的最新版本。
-
yarn list:列出项目的所有依赖项及其版本。
-
yarn outdated:列出过时的依赖项,以查看哪些包可以升级。
-
yarn install --production:仅安装生产环境依赖,跳过开发依赖。
-
yarn build:运行项目的构建脚本,用于编译前端代码。
-
yarn start:启动项目的开发服务器或主应用程序。通常在
package.json的scripts部分定义。 -
yarn test:运行项目的测试脚本,通常使用测试运行器(如Jest、Mocha、或Karma)执行单元测试。
-
yarn workspace <workspace_name> <command>:在 Yarn Workspaces 中执行命令,用于管理多个相关项目的 monorepo。
-
yarn init:初始化一个新的项目,创建一个新的
package.json文件。 -
yarn global add <package>:全局安装一个包,使其在系统中的任何地方都可用。不推荐在项目中使用,通常用于全局工具。
安装
npm install -g yarn
yarn --version