参考:https://github.com/CherryHQ/cherry-studio/blob/main/docs/dev.md
Node.js 安装包通常会自带 npm 和 Corepack
什么是 Yarn?
Yarn 是一个 JavaScript 包管理器 (Package Manager)。 把它想象成一个工具,可以帮助你:
管理项目依赖 (Dependencies): 现代 JavaScript 项目通常会依赖很多别人写好的代码库(称为 “包” 或 “库”,例如 React, Lodash, Express 等)。Yarn 负责帮你下载、安装、更新和移除这些包。 确保一致性: Yarn 使用一个叫做 yarn.lock 的文件来精确记录项目所依赖的每个包的具体版本。这确保了无论谁(或者在哪台电脑上)运行这个项目,都会安装完全相同的依赖版本,避免了因为版本不一致导致的 “在我电脑上能跑” 的问题。 提高效率: Yarn 在设计之初就非常注重速度和可靠性。它会并行下载包,并使用缓存来避免重复下载,通常比 npm(另一个流行的 JavaScript 包管理器)的早期版本更快。 离线工作: 如果你之前已经安装过某个包,Yarn 可以从缓存中读取,即使在没有网络连接的情况下也能安装依赖。 工作区 (Workspaces): 支持 Monorepo(在一个代码仓库中管理多个项目/包),简化了多包项目的依赖管理。 总结来说: Yarn 是 npm 的一个替代品,由 Facebook (Meta) 开发,旨在解决早期 npm 的一些性能和一致性问题。现在 npm 本身也已经改进了很多,两者都是非常优秀的 JavaScript 包管理器。选择哪个通常取决于个人或团队的偏好。
如何在 Windows 电脑上安装 Yarn?
安装 Yarn 通常有两种主要方式,推荐使用 Corepack(Node.js 内建的方式)。
前提条件:你必须先安装 Node.js
Yarn 是围绕 Node.js 生态系统工作的,所以你的电脑上必须安装了 Node.js。Node.js 安装包通常会自带 npm 和 Corepack。
下载 Node.js: 访问 Node.js 官方网站:https://nodejs.org/en/download
选择 LTS 版本: 通常推荐下载 “LTS” (Long Term Support) 版本,它更稳定。下载适用于 Windows 的 .msi 安装程序。
安装: 双击下载的 .msi 文件,按照安装向导一路点击 “Next” 完成安装。默认设置通常就可以了。
验证安装: 安装完成后,打开你的终端(可以是 CMD 命令提示符、PowerShell 或 Git Bash 等),输入以下命令并按回车:
node -v
npm -v
如果能看到版本号输出(例如 v18.17.0 和 9.6.7),说明 Node.js 和 npm 安装成功。
安装 Yarn 的方法:
使用 Corepack (推荐,适用于较新的 Node.js 版本)
Corepack 是 Node.js 自带的一个实验性工具,用于管理包管理器本身(如 Yarn 和 pnpm)。这是目前官方推荐的方式,特别是如果你想使用最新版本的 Yarn (Yarn v2+ “Berry”)。
打开终端: (CMD, PowerShell, Git Bash 等) 启用 Corepack: corepack enable 这条命令会让 Node.js 能够识别和管理不同版本的 Yarn。
设置要使用的 Yarn 版本: corepack prepare [email protected] –activate
–activate 标志会确保后续直接运行 yarn 命令时使用这个版本。
验证 Yarn 安装: yarn –version 如果 Corepack 设置正确,这里应该会显示你指定的 Yarn 版本号。
下面进入到正式开发阶段。
用git clone cherry-studio到windows目录后,在cmd中进入到这个目录,执行: yarn install 核心功能:安装项目依赖 详细说明: 当你拿到一个 JavaScript 项目(比如从 GitHub 克隆下来,或者别人发给你的),这个项目通常会依赖很多第三方的代码库(包)。这些依赖信息记录在项目根目录下的 package.json 文件中的 dependencies 和 devDependencies 部分。 yarn install 命令会读取 package.json 文件,找出项目需要的所有依赖包。 然后,它会检查项目根目录下是否存在 yarn.lock 文件。 如果 yarn.lock 文件存在: Yarn 会严格按照 yarn.lock 文件中记录的、精确的版本号去下载和安装每一个依赖包。这保证了团队成员或者不同部署环境之间使用的依赖版本完全一致,避免了“在我电脑上能跑”的问题。 如果 yarn.lock 文件不存在: Yarn 会根据 package.json 中指定的版本范围去解析依赖,下载符合条件的最新版本,并在安装完成后生成一个新的 yarn.lock 文件,记录下本次安装使用的具体版本。 所有下载下来的依赖包代码最终会被存放在项目根目录下的 node_modules 文件夹里。 何时使用: 首次获取项目代码后,需要运行一次 yarn install 来安装所有必需的依赖。 当 package.json 或 yarn.lock 文件发生变化时(比如团队成员添加/更新了依赖,你拉取了最新代码),需要运行 yarn install 来同步这些变更。 有时候项目运行出现奇怪的问题,可以尝试删除 node_modules 文件夹和 yarn.lock 文件(如果怀疑锁文件有问题),然后重新运行 yarn install 来进行一次“干净”的安装。 总结 yarn install: 它是项目启动和协作的基础,负责根据项目配置文件 (package.json 和 yarn.lock) 把所有需要的第三方代码库下载并安装到本地的 node_modules 目录中。
接着执行: yarn dev
核心功能:启动项目的开发环境 详细说明: yarn dev 不是 Yarn 内置的标准命令。它实际上是运行 package.json 文件中 scripts 部分定义的名为 dev 的脚本。 你需要打开项目的 package.json 文件,找到 “scripts” 字段,里面会有一行类似 “dev”: “…” 的配置。yarn dev 执行的就是冒号后面 “…” 里的命令。 这个 dev 脚本通常被配置用来做以下事情(具体取决于项目使用的技术栈和工具): 启动一个本地开发服务器: 比如使用 vite, webpack-dev-server, next dev, nodemon 等工具。这个服务器会在你的电脑上运行项目,并允许你通过浏览器(通常是 http://localhost:xxxx 这样的地址)访问正在开发的应用。 监听文件变化: 开发服务器通常会监视项目源代码文件的改动。 自动重新构建/编译: 当你修改并保存代码文件时,服务器会自动重新编译、打包代码。 热模块替换 (HMR – Hot Module Replacement) 或 浏览器自动刷新: 在代码更新后,让你在浏览器中能立刻看到修改后的效果,而无需手动刷新页面,极大地提高了开发效率。 设置开发环境变量: 可能还会设置一些只在开发模式下使用的环境变量(比如 NODE_ENV=development)。 何时使用: 当你想要在本地电脑上运行项目、进行代码编写、调试和查看效果时,就需要运行 yarn dev(或其他类似名称的开发脚本,如 yarn start, yarn serve)。 总结 yarn dev: 它是一个自定义脚本命令,通常用于启动项目的本地开发服务器,提供实时预览、自动刷新/HMR 等功能,方便开发者进行日常的编码和调试工作。具体执行什么操作取决于项目 package.json 中 scripts.dev 的定义。
两者关系:
通常的开发流程是:
获取项目代码(例如 git clone …)。 进入项目目录 (cd project-name)。 运行 yarn install 来安装所有项目依赖。 运行 yarn dev 来启动开发服务器,开始进行开发。
For windows
$ yarn build:win
For macOS
$ yarn build:mac
For Linux
$ yarn build:linux