新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何从源码构建自托管的 Hoppscotch Desktop 应用

发布时间:2026/9/9 21:28:04来源:尧图网络
如何从源码构建自托管的 Hoppscotch Desktop 应用
如何从源码构建自托管的 Hoppscotch Desktop 应用【免费下载链接】hoppscotchOpen-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem Cloud • Web, Desktop CLI • Open-Source Alternative to Postman, Insomnia项目地址: https://gitcode.com/GitHub_Trending/ho/hoppscotch如果你的 Hoppscotch 部署在内网或自己的服务器上直接使用官方下载或 Homebrew 安装的 Hoppscotch Desktop 客户端并不是唯一路径——packages/hoppscotch-desktop/README.md 的 Building and Self-Hosting Hoppscotch Desktop 一节给出了从源码本地构建的完整流程构建出的桌面应用可以直接连接你自己的自托管 Hoppscotch 实例。整条路径共四步构建自托管 Web 前端、编译webapp-bundler、打包 Web 应用为 bundle、运行桌面应用。需要注意Hoppscotch Desktop App 目前仍标注为ALPHA阶段见 README 标题应用基于 Tauri V2 构建。准备条件工具链与系统要求按 tauri-plugin-appload 的 README Development Requirements构建需要Node.js 18 或更高版本Rust 1.77.2 或更高版本cargo 需可用pnpm桌面应用本身的最小系统要求来自 README Minimum System Requirements平台要求WindowsWindows 10 1803 或 Windows 11x64macOSmacOS 10.15 (Catalina) 或更高Intel x64 或 Apple Silicon (ARM64)Linuxx64推荐 Ubuntu 24.04 或更新的同类发行版最低要求 GLIBC 2.38Linux 上还要记住两点依赖限制Tauri v2 依赖libwebkit2gtk-4.1该库只默认存在于 Ubuntu 22.04 的仓库中旧发行版还会因为 GLIBC 版本不足报错如GLIBC_2.32 not found。仓库是 pnpm workspace 结构见 pnpm-workspace.yaml。构建涉及三个包hoppscotch-selfhost-web —— 自托管 Web 前端pnpm generate产出dist目录hoppscotch-desktop —— Tauri v2 桌面壳webapp-bundler —— Rust CLI 工具把 Web 前端目录打包成bundle.zip并生成带 blake3 校验和的manifest.json实现见 src/main.rs。以下命令均在仓库根目录即 clone 下来的hoppscotch目录下按相对路径执行。第一步构建自托管 Web 应用cd packages/hoppscotch-selfhost-web pnpm install pnpm generategenerate是该包定义的 npm script实际执行vite build见 package.jsongenerate: pnpm run build构建产物输出到packages/hoppscotch-selfhost-web/dist。另外该包的postinstall会运行gql-codegen生成 GraphQL 代码安装依赖阶段就会触发。第二步编译 webapp-bundlercd crates/webapp-bundler cargo build --release注意这里的crates/webapp-bundler是相对hoppscotch-desktop包的路径即完整路径为 packages/hoppscotch-desktop/crates/webapp-bundlerREADME 中的cd命令是按包内相对路径写的。构建完成后可执行文件位于该 crate 的target/release/webapp-bundler。第三步打包 Web 应用为 bundleREADME 给出的命令cd target/release ./webapp-bundler --input [path-to-dist-directory] \ --output [path-to-hoppscotch-desktop]/bundle.zip \ --manifest [path-to-hoppscotch-desktop]/manifest.json其中[path-to-dist-directory]必须指向第一步pnpm generate生成的dist目录即packages/hoppscotch-selfhost-web/distREADME Note 明确说明。[path-to-hoppscotch-desktop]指packages/hoppscotch-desktop目录。与其手工替换三个占位符也可以直接使用hoppscotch-desktop包已定义好的prepare-web脚本package.json它把第一到第三步串成一条命令路径已经写死cd packages/hoppscotch-desktop pnpm run prepare-web该脚本实际执行的内容(cd ../hoppscotch-selfhost-web pnpm install pnpm generate) \ (cd crates/webapp-bundler cargo build --release \ cd target/release \ ./webapp-bundler --input ../../../../../hoppscotch-selfhost-web/dist \ --output ../../../../bundle.zip \ --manifest ../../../../manifest.json)bundler 会递归读取输入目录、按 main.rs 的逻辑压缩为 zip 并写出 manifest。运行成功时终端依次打印Creating bundle from directory: dist 目录 Using bundle version: 版本号 Bundle written to: bundle.zip 路径 Manifest written to: manifest.json 路径 Bundle created successfully with N filesN为打包文件数量随构建内容变化属文档外的实际输出示例无需固定预期。执行完成后packages/hoppscotch-desktop/下应存在bundle.zip和manifest.json两个文件这是第三步完成的最小判据。第四步运行桌面应用开发模式README 给出的命令cd packages/hoppscotch-desktop pnpm tauri devpnpm tauri dev会先跑vite开发服务器tauri.conf.json 中devUrl为http://127.0.0.1:1420然后启动 Tauri 应用Hoppscotch Desktop 窗口应正常打开。生产构建README 在 Run the development server 一节末尾给出cd src-tauri pnpm tauri dev作为 production build 的替代写法但 package.json 中定义的生产脚本是build:full等价于在hoppscotch-desktop目录下执行pnpm tauri build它会先执行pnpm buildvue-tsc --noEmit vite build再产出可分发安装包。可选分支——portable便携构建hoppscotch-desktop包还定义了dev:portable/build:portable脚本即追加-- --no-default-features --features portable。对应 tauri.portable.windows.conf.json 中bundle.active: false、WindowswebviewInstallMode为skip、不生成 updater 工件——即不打安装程序、不随包安装 WebView适合需要自行放置可执行文件的分发环境。自托管实例的连接前置配置桌面应用要连上你的自托管实例Community 或 Enterprise 版该实例的.env中WHITELISTED_ORIGINS必须加入部署地址对应的应用来源。以允许连接https://hoppscotch.mydomain.com为例README Access Options 中的 Notemydomain_com为你的域名.替换为_WHITELISTED_ORIGINS...existing_origins,app://hoppscotch_mydomain_com,http://app.hoppscotch_mydomain_com其中app://hoppscotch_mydomain_com用于 macOS / Linuxhttp://app.hoppscotch_mydomain_com用于 Windows。...existing_origins表示保留该变量中已有的其他来源值追加而非覆盖。验证构建与连接是否成功按以下顺序核对结果packages/hoppscotch-selfhost-web/dist目录存在pnpm generate产物packages/hoppscotch-desktop/下存在bundle.zip与manifest.json且 bundler 打印了Bundle created successfully with N filespnpm tauri dev或pnpm tauri build后的产物能打开 Hoppscotch Desktop 窗口连接自托管实例打开应用点击左上角 Hoppscotch logo点击Add an instance输入你的自托管实例 URL点击Connect。如果实例是通过 Docker 部署的README 提示桌面应用使用的内置服务器运行在3200端口它属于前端容器的一部分。文档给出的运行示例原文示例docker run -p 3000:3000 -p 3200:3200 hoppscotch/hoppscotch-frontend容器启动后在Add an instance中输入[your-ip]:3200若使用子路径访问方式也可以直接填实例的基础地址。已知限制与显示问题旧发行版 Linux产物要求 GLIBC 2.38老系统会看到GLIBC_2.32 not found之类的版本错误libwebkit2gtk-4.1需 Ubuntu 22.04 仓库提供见 README Misc.。Wayland 显示异常WebKit 与显卡驱动交互可能导致 Wayland 下显示异常README 给出的 workaround 是设置环境变量后再启动可任选或同时使用WEBKIT_DISABLE_COMPOSITING_MODE1 hoppscotch # or WEBKIT_DISABLE_DMABUF_RENDERER1 hoppscotchUbuntu 24.04 的由来README 说明推荐 24.04 同类发行版是因为其自带的 WebKit2GTK 版本2.44.0-2在 WebKit、UI 库、Mesa 驱动与 Wayland 之间的交互上足够稳定。完成以上步骤后你得到的是一套可复现的自托管构建链dist产物、bundle.zip/manifest.json包以及指向自己实例的桌面应用。后续每次更新自托管前端重新执行pnpm run prepare-web再跑pnpm tauri build即可刷新构建。【免费下载链接】hoppscotchOpen-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem Cloud • Web, Desktop CLI • Open-Source Alternative to Postman, Insomnia项目地址: https://gitcode.com/GitHub_Trending/ho/hoppscotch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ThreadLocal源码级解析:存储模型、哈希探测与内存泄漏的真相 2026/9/9 23:31:38

ThreadLocal源码级解析:存储模型、哈希探测与内存泄漏的真相

1. 从一次线上OOM说起:ThreadLocal不只是“线程变量副本”那么简单先说个真实事故。之前维护过一个跑在 Tomcat 线程池里的服务,某天监控平台开始连续报警:堆内存持续爬升,每次 Full GC 后回收量很少,老年代占用曲线几…

阅读更多 →
如何下载 Helix 预编译二进制包并配置 runtime 目录完成验证 2026/9/9 23:31:38

如何下载 Helix 预编译二进制包并配置 runtime 目录完成验证

如何下载 Helix 预编译二进制包并配置 runtime 目录完成验证 【免费下载链接】helix A post-modern modal text editor. 项目地址: https://gitcode.com/GitHub_Trending/he/helix 如果你不想自己编译 Helix,只想拿到一个开箱即用的 hx 命令,文档…

阅读更多 →
下载加速与数据永久留存:从多线程到私有备份的完整实践 2026/9/9 23:31:38

下载加速与数据永久留存:从多线程到私有备份的完整实践

从“下载焦虑”到私有资源库:我的满速下载与数据永久留存实战先聊个日常场景:我身边很多朋友,电脑硬盘常年被塞爆,网盘里堆着几万个忘记命名的文件,一打开浏览器满屏下载记录,真到要用某个资料的时候&#…

阅读更多 →
VibeVoice-ASR-Streaming 文件推理怎么用 --context_info 热词参数偏向指定术语? 2026/9/9 23:31:38

VibeVoice-ASR-Streaming 文件推理怎么用 --context_info 热词参数偏向指定术语?

VibeVoice-ASR-Streaming 文件推理怎么用 --context_info 热词参数偏向指定术语? 【免费下载链接】VibeVoice Open-Source Frontier Voice AI 项目地址: https://gitcode.com/GitHub_Trending/vib/VibeVoice VibeVoice-ASR-Streaming 在音频还在到达时就逐块…

阅读更多 →
家政物业费返佣小程序的实现思路与工程化落地要点 2026/9/9 23:31:38

家政物业费返佣小程序的实现思路与工程化落地要点

家政物业费返佣小程序的实现思路与工程化落地要点 在数字化社区服务场景中,家政服务与物业费缴纳之间存在天然的流量互补关系。业主高频缴纳物业费,家政服务则属于低频但高客单价的刚需。将两者结合,通过“物业费返佣”机制引导业主使用家政服…

阅读更多 →
被销冠夸了无数次的AI CRM系统!解决老板最怕的3件事:客户跑、订单丢、销售走 2026/9/9 23:28:38

被销冠夸了无数次的AI CRM系统!解决老板最怕的3件事:客户跑、订单丢、销售走

销售团队最让老板害怕的,不是少签几单,而是业务掌握在个人手里,却没有真正沉淀到企业。 销售离职,几十个客户没人接;重点客户跟了半年,换人后不知道谈到哪一步;月底报了1000万商机,拆…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞