十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AFFiNE 拉取最新 canary 后应用无法启动怎么排查?重跑依赖安装与 native 构建

AFFiNE 拉取最新 canary 后应用无法启动怎么排查?重跑依赖安装与 native 构建 AFFiNE 拉取最新 canary 后应用无法启动怎么排查重跑依赖安装与 native 构建【免费下载链接】AFFiNEThere can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.项目地址: https://gitcode.com/GitHub_Trending/af/AFFiNE在 AFFiNE 仓库中拉取了最新的canary分支默认开发分支之后启动应用失败。docs/BUILDING.md的 Troubleshooting 一节明确给出了这个现象的处理方式App fails to start after pulling the latestcanary—— 依赖或 Rust bindings 可能发生了变化需要重跑yarn install和yarn affine affine/native build。本文按这条路径走一遍先核对工具链版本再重跑依赖安装与 native 构建最后用开发服务器验证应用能否正常启动。该流程基于 docs/BUILDING.md面向从源码构建、运行 AFFiNE web app 的开发者。先核对工具链Node、Yarn 与 Rustcanary 分支更新后最常见的安装/构建阶段就报错根源是工具链版本不匹配。BUILDING.md要求Node.js版本由.nvmrc固定当前为22.23.2package.json的engines字段要求22.12.0 23.0.0。用版本管理器对齐# 二选一 fnm use --install-if-missing nvm install nvm useYarn使用现代 Yarn4.x由package.json的packageManager字段固定为yarn4.18.0Yarn 1 不可用。通过 Node.js 自带的 Corepack 启用corepack enable执行后用yarn -v验证输出应为4.x而不是1.x。Rust通过 rustup 中当前 channel 为1.97.1在仓库内首次构建时 rustup 会自动安装。Troubleshooting 一节也指出如果yarn install本身失败并报 Node/Yarn 版本相关错误先检查node -v是否与.nvmrc一致、Corepack 是否已启用yarn -v应输出4.x。也就是说重跑安装前先过一遍上面的核对避免把环境问题误判为应用启动问题。第一步重跑依赖安装yarn install注意这个命令的实际作用不止安装依赖postinstall脚本还会初始化 workspaceyarn affine init并通过 git hooks 安装 husky见package.json中的postinstall: yarn affine init yarn husky。canary 更新可能同时改动了 workspace 结构所以这一步需要完整跑完而不是在旧node_modules上跳过。第二步重建 native 模块依赖装好后重建 Rust 编写的 native 模块yarn affine affine/native build该命令构建packages/frontend/native下的 native 模块并用 NAPI.rs 生成 Node.js 绑定其底层脚本为napi build -p affine_native --platform --release --strip见packages/frontend/native的package.json。首次构建耗时可能较长。macOS 用户确保strip命令使用的是系统自带的而不是binutils提供的BUILDING.md在该步骤和 Troubleshooting 中均专门提示了这一点。可选分支如果你要运行本地 server账号、同步、协作等 cloud 功能或跑 cloud E2E 套件还需要额外构建 server 的 native 依赖yarn affine affine/server-native build只跑 web app、不依赖本地 server 时无需此步。启动开发服务器验证重建完成后按文档正常启动流程验证应用yarn dev执行后会提示选择要运行的包——选择affine/webweb app然后打开http://localhost:8080。想跳过交互提示可以用-p--package参数yarn dev -p affine/web能打开localhost:8080上的 web app说明 canary 更新后的依赖与 native 构建已恢复正常。文档说明单独运行affine/web足以覆盖大多数编辑器与 UI 工作workspace 数据保存在浏览器本地如果要开发 cloud 功能账号、同步、协作、AI需要再按 docs/developing-server.md 启动本地 server这属于另一条任务路径不在本次启动排查范围内。仍无法启动时的检查项按 docs/BUILDING.md Troubleshooting 一节逐项核对yarn install失败或抱怨 Node/Yarn 版本确认node -v与.nvmrc一致fnm use/nvm use且yarn -v输出4.x而非1.x。native 模块在 macOS 上构建失败确认strip是系统版本而非binutils的。桌面客户端ElectronBUILDING.md面向 web app构建桌面客户端的流程见 docs/building-desktop-client-app.md其中 native 模块构建与本文第二步相同区别在于 core 与 electron 打包需要分别调整 yarn 配置。最后注意BUILDING.md开头的声明该文档不保证始终最新如果按上述步骤操作后仍然失败、或发现文档内容过期文档建议的做法是提交 issue 或 PR 更新它。【免费下载链接】AFFiNEThere can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.项目地址: https://gitcode.com/GitHub_Trending/af/AFFiNE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表