English | 简体中文
请确保您的 Node.js 版本为 18 或更高版本(例如 18.7)。请避免使用 sudo
进行安装。如果 npm 报告权限问题,请参考 如何在不使用 sudo 的情况下修复 npm 报错。
npm install pake-cli -g
-
非常重要:请参阅 Tauri 的 依赖项指南。
-
对于 Windows 用户,请确保至少安装了
Win10 SDK(10.0.19041.0)
和Visual Studio Build Tools 2022(版本 17.2 或更高)
,此外还需要安装以下组件:- Microsoft Visual C++ 2015-2022 Redistributable (x64)
- Microsoft Visual C++ 2015-2022 Redistributable (x86)
- Microsoft Visual C++ 2012 Redistributable (x86)(可选)
- Microsoft Visual C++ 2013 Redistributable (x86)(可选)
- Microsoft Visual C++ 2008 Redistributable (x86)(可选)
-
对于 Ubuntu 用户,在开始之前,建议运行以下命令以安装所需的依赖项:
sudo apt install libdbus-1-dev \ libsoup2.4-dev \ libjavascriptcoregtk-4.0-dev \ libwebkit2gtk-4.0-dev \ build-essential \ curl \ wget \ libssl-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ gnome-video-effects \ gnome-video-effects-extra
开发时可以修改 bin/defaults.ts
中 DEFAULT_DEV_PAKE_OPTIONS
配置,配置项和 pake-cli
配置说明保持一致
export const DEFAULT_DEV_PAKE_OPTIONS: PakeCliOptions & { url: string } = {
...DEFAULT_PAKE_OPTIONS,
url: 'https://weread.qq.com',
name: 'Weread',
};
之后运行
yarn cli:dev
脚本会读取上述配置并使用 watch
模式打包指定的 app
,对 pake-cli
代码和 pake
的修改都会实时热更新。
pake [url] [options]
应用程序的打包结果将默认保存在当前工作目录。由于首次打包需要配置环境,这可能需要一些时间,请耐心等待。
注意:打包过程需要使用
Rust
环境。如果您没有安装Rust
,系统会提示您是否要安装。如果遇到安装失败或超时的问题,您可以 手动安装。
url
是您需要打包的网页链接 🔗 或本地 HTML 文件的路径,此参数为必填。
您可以通过传递以下选项来定制打包过程:
指定应用程序的名称,如果在输入时未指定,系统会提示您输入,建议使用单个英文名称,不要出现下划线或者中文。
--name <string>
指定应用程序的图标,支持本地或远程文件。默认使用 Pake 的内置图标。您可以访问 icon-icons 或 macOSicons 下载自定义图标。
- macOS 要求使用
.icns
格式。 - Windows 要求使用
.ico
格式。 - Linux 要求使用
.png
格式。
--icon <path>
设置应用窗口的高度,默认为 780px
。
--height <number>
设置应用窗口的宽度,默认为 1200px
。
--width <number>
设置是否启用沉浸式头部,默认为 false
(不启用)。当前只对 macOS 上有效。
--hide-title-bar
设置应用程序是否在启动时自动全屏,默认为 false
。使用以下命令可以设置应用程序启动时自动全屏。
--fullscreen
设置应用程序的激活快捷键。默认为空,不生效,可以使用以下命令自定义激活快捷键,例如 CmdOrControl+Shift+P
,使用可参考 available-modifiers。
--activation-shortcut <string>
设置是否窗口一直在最顶层,默认为 false
。
--always-on-top
强制 Mac 打包应用使用黑暗模式,默认为 false
。
--dark-mode
设置是否禁用原有 Pake 容器里面的网页操作快捷键,默认为 false
。
--disabled-web-shortcuts
设置打包结果同时支持 Intel 和 M1 芯片,仅适用于 macOS,默认为 false
。
-
注意:启用此选项后,需要使用 rust 官网的 rustup 安装 rust,不支持通过 brew 安装。
-
对于 Intel 芯片用户,需要安装 arm64 跨平台包,以使安装包支持 M1 芯片。使用以下命令安装:
rustup target add aarch64-apple-darwin
-
对于 M1 芯片用户,需要安装 x86 跨平台包,以使安装包支持 Intel 芯片。使用以下命令安装:
rustup target add x86_64-apple-darwin
--multi-arch
选择输出的包格式,支持 deb
、appimage
或 all
。如果选择 all
,则会同时打包 deb
和 appimage
。此选项仅适用于
Linux,默认为 all
。
--targets <string>
自定义浏览器的用户代理请求头,默认为空。
--user-agent <string>
设置是否显示通知栏托盘,默认不显示。
--show-system-tray
设置通知栏托盘图标,仅在启用通知栏托盘时有效。图标必须为 .ico
或 .png
格式,分辨率为 32x32 到 256x256 像素。
--system-tray-icon <path>
设置 Windows 安装包语言。支持 zh-CN
、ja-JP
,更多在 Tauri 文档。默认为 en-US
。
--installer-language <language>
当 url
为本地文件路径时,如果启用此选项,则会递归地将 url
路径文件所在的文件夹及其所有子文件复
制到 Pake 的静态文件夹。默认不启用。
--use-local-file
使用 inject
可以通过本地的绝对、相对路径的 css
js
文件注入到你所指定 url
的页面中,从而为
其做定制化改造。举个例子:一段可以通用到任何网页的广告屏蔽脚本,或者是优化页面 UI
展的 css
,你
只需要书写一次可以将其通用到任何其他网页打包的 app
。
--inject ./tools/style.css --inject ./tools/hotkey.js
这个安全域名是除你当前配置的 url
之外可能会出现重定向或跳转到的其他域名,只有在已配置为安全的域名中,
才能够使用 tauri
暴露到浏览器的 api
,保证 pake
内置增强功能的正确运行。
PS: 安全域名不需要携带协议。
--safe-domain weread.qq.com,google.com
打出来的包具备 deb-tools 的调试模式,此外还会输出更多的日志信息用于调试。
--debug
完成上述步骤后,您的应用程序应该已经成功打包。请注意,根据您的系统配置和网络状况,打包过程可能需要一些时间。请耐心等待,一旦打包完成,您就可以在指定的目录中找到应用程序安装包。
# 在Linux上,您可以通过 Docker 运行 Pake CLI。
docker run -it --rm \ # Run interactively, remove container after exit
-v YOUR_DIR:/output \ # Files from container's /output will be in YOU_DIR
ghcr.io/tw93/pake \
<arguments>
# For example:
docker run -it --rm \
-v ./packages:/output \
ghcr.io/tw93/pake \
https://example.com --name myapp --icon ./icon.png