mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-21 03:19:31 +08:00

* New translations minecraftupdater.mdx (Korean) [ci skip] * New translations links.mdx (Korean) [ci skip] * New translations templates.mdx (Korean) [ci skip] * New translations _category_.json (Korean) [ci skip] * New translations developing-new-features.mdx (Korean) [ci skip] * New translations documenting.mdx (Korean) [ci skip] * New translations troubleshooting.mdx (Korean) [ci skip] * New translations windows-installer.mdx (Korean) [ci skip] * New translations faq.mdx (Korean) [ci skip] * New translations 2021-11-08-v2-beta2-release-notes.mdx (Korean) [ci skip] * New translations 2022-02-22-v2-beta3-release-notes.mdx (Korean) [ci skip] * New translations authors.yml (Korean) [ci skip] * New translations credits.mdx (Korean) [ci skip] * New translations markdown-page.md (Korean) [ci skip] * New translations stats.mdx (Korean) [ci skip] * New translations faq.mdx (Japanese) [ci skip] * New translations faq.mdx (Russian) [ci skip] * New translations introduction.mdx (Korean) [ci skip] * New translations faq.mdx (Chinese Simplified) [ci skip] * New translations options.json (Korean) [ci skip] * New translations current.json (Korean) [ci skip] * New translations version-v2.0.0-beta.38.json (Korean) [ci skip] * New translations version-v2.0.0-beta.39.json (Korean) [ci skip] * New translations footer.json (Korean) [ci skip] * New translations navbar.json (Korean) [ci skip] * New translations 2021-09-27-v2-beta1-release-notes.mdx (Korean) [ci skip] * New translations howdoesitwork.mdx (Korean) [ci skip] * New translations windows.mdx (Korean) [ci skip] * New translations log.mdx (Korean) [ci skip] * New translations _category_.json (Korean) [ci skip] * New translations linux.mdx (Korean) [ci skip] * New translations _category_.json (Korean) [ci skip] * New translations browser.mdx (Korean) [ci skip] * New translations dialog.mdx (Korean) [ci skip] * New translations events.mdx (Korean) [ci skip] * New translations intro.mdx (Korean) [ci skip] * New translations menu.mdx (Korean) [ci skip] * New translations _category_.json (Korean) [ci skip] * New translations window.mdx (Korean) [ci skip] * New translations cli.mdx (Korean) [ci skip] * New translations _category_.json (Korean) [ci skip] * New translations menus.mdx (Korean) [ci skip] * New translations options.mdx (Korean) [ci skip] * New translations project-config.mdx (Korean) [ci skip] * New translations _category_.json (Korean) [ci skip] * New translations helloworld.mdx (Korean) [ci skip] * New translations code.json (Korean) [ci skip] * New translations developing-new-features.mdx (Chinese Simplified) [ci skip] * New translations firstproject.mdx (Japanese) [ci skip] * New translations firstproject.mdx (Russian) [ci skip] * New translations firstproject.mdx (Chinese Simplified) [ci skip] * New translations installation.mdx (Japanese) [ci skip] * New translations installation.mdx (Russian) [ci skip] * New translations installation.mdx (Chinese Simplified) [ci skip] * New translations dynamic-assets.mdx (Japanese) [ci skip] * New translations dynamic-assets.mdx (Russian) [ci skip] * New translations dynamic-assets.mdx (Chinese Simplified) [ci skip] * New translations frameless.mdx (Japanese) [ci skip] * New translations frameless.mdx (Russian) [ci skip] * New translations frameless.mdx (Chinese Simplified) [ci skip] * New translations documenting.mdx (Japanese) [ci skip] * New translations documenting.mdx (Russian) [ci skip] * New translations frontend.mdx (Japanese) [ci skip] * New translations frontend.mdx (Russian) [ci skip] * New translations windows.mdx (Chinese Simplified) [ci skip] * New translations troubleshooting.mdx (Japanese) [ci skip] * New translations troubleshooting.mdx (Russian) [ci skip] * New translations troubleshooting.mdx (Chinese Simplified) [ci skip] * New translations windows-installer.mdx (Japanese) [ci skip] * New translations windows-installer.mdx (Russian) [ci skip] * New translations windows-installer.mdx (Chinese Simplified) [ci skip] * New translations dialog.mdx (Japanese) [ci skip] * New translations dialog.mdx (Russian) [ci skip] * New translations signing.mdx (Chinese Simplified) [ci skip] * New translations migrating.mdx (Russian) [ci skip] * New translations ides.mdx (Japanese) [ci skip] * New translations ides.mdx (Russian) [ci skip] * New translations ides.mdx (Chinese Simplified) [ci skip] * New translations migrating.mdx (Japanese) [ci skip] * New translations migrating.mdx (Chinese Simplified) [ci skip] * New translations signing.mdx (Russian) [ci skip] * New translations mouse-buttons.mdx (Japanese) [ci skip] * New translations mouse-buttons.mdx (Russian) [ci skip] * New translations mouse-buttons.mdx (Chinese Simplified) [ci skip] * New translations overscroll.mdx (Japanese) [ci skip] * New translations overscroll.mdx (Russian) [ci skip] * New translations routing.mdx (Japanese) [ci skip] * New translations routing.mdx (Russian) [ci skip] * New translations routing.mdx (Chinese Simplified) [ci skip] * New translations signing.mdx (Japanese) [ci skip] * New translations dialog.mdx (Chinese Simplified) [ci skip] * New translations project-config.mdx (Chinese Simplified) [ci skip] * New translations options.mdx (Chinese Simplified) [ci skip] * New translations howdoesitwork.mdx (Japanese) [ci skip] * New translations howdoesitwork.mdx (Russian) [ci skip] * New translations howdoesitwork.mdx (Chinese Simplified) [ci skip] * New translations 2021-09-27-v2-beta1-release-notes.mdx (Japanese) [ci skip] * New translations 2021-09-27-v2-beta1-release-notes.mdx (Russian) [ci skip] * New translations 2021-09-27-v2-beta1-release-notes.mdx (Chinese Simplified) [ci skip] * New translations 2021-11-08-v2-beta2-release-notes.mdx (Japanese) [ci skip] * New translations options.mdx (Russian) [ci skip] * New translations window.mdx (Japanese) [ci skip] * New translations menu.mdx (Japanese) [ci skip] * New translations menu.mdx (Russian) [ci skip] * New translations menu.mdx (Chinese Simplified) [ci skip] * New translations window.mdx (Russian) [ci skip] * New translations options.mdx (Japanese) [ci skip] * New translations cli.mdx (Chinese Simplified) [ci skip] * New translations menus.mdx (Japanese) [ci skip] * New translations menus.mdx (Russian) [ci skip] * New translations menus.mdx (Chinese Simplified) [ci skip] * New translations 2021-11-08-v2-beta2-release-notes.mdx (Russian) [ci skip] * New translations 2021-11-08-v2-beta2-release-notes.mdx (Chinese Simplified) [ci skip] * New translations emailit.mdx (Chinese Simplified) [ci skip] * New translations modalfilemanager.mdx (Chinese Simplified) [ci skip] * New translations 2022-02-22-v2-beta3-release-notes.mdx (Japanese) [ci skip] * New translations 2022-02-22-v2-beta3-release-notes.mdx (Russian) [ci skip] * New translations 2022-02-22-v2-beta3-release-notes.mdx (Chinese Simplified) [ci skip] * New translations credits.mdx (Japanese) [ci skip] * New translations credits.mdx (Russian) [ci skip] * New translations credits.mdx (Chinese Simplified) [ci skip] * New translations code.json (Korean) [ci skip] * New translations developing-new-features.mdx (Japanese) [ci skip] * New translations developing-new-features.mdx (Russian) [ci skip] * New translations ways-of-contributing.mdx (Japanese) [ci skip] * New translations documenting.mdx (Japanese) [ci skip] * New translations testing.mdx (Japanese) [ci skip] * New translations setting-up-a-dev-environment.mdx (Japanese) [ci skip] * New translations fixing-bugs.mdx (Japanese) [ci skip] * New translations helping-others.mdx (Japanese) [ci skip] * New translations ways-of-contributing.mdx (Russian) [ci skip] * New translations fixing-bugs.mdx (Chinese Simplified) [ci skip] * New translations documenting.mdx (Russian) [ci skip] * New translations documenting.mdx (Chinese Simplified) [ci skip] * New translations testing.mdx (Chinese Simplified) [ci skip] * New translations fixing-bugs.mdx (Russian) [ci skip] * New translations ways-of-contributing.mdx (Chinese Simplified) [ci skip] * New translations testing.mdx (Russian) [ci skip] * New translations helping-others.mdx (Russian) [ci skip] * New translations helping-others.mdx (Chinese Simplified) [ci skip] * New translations setting-up-a-dev-environment.mdx (Chinese Simplified) [ci skip] * New translations setting-up-a-dev-environment.mdx (Russian) [ci skip] * New translations developing-new-features.mdx (Chinese Simplified) [ci skip] * New translations current.json (Japanese) [ci skip] * New translations current.json (Russian) [ci skip] * New translations current.json (Chinese Simplified) [ci skip] * New translations version-v2.0.0-beta.44.json (Japanese) [ci skip] * New translations version-v2.0.0-beta.44.json (Russian) [ci skip] * New translations version-v2.0.0-beta.44.json (Chinese Simplified) [ci skip] * New translations version-v2.0.0-beta.43.json (Japanese) [ci skip] * New translations version-v2.0.0-beta.43.json (Russian) [ci skip] * New translations version-v2.0.0-beta.43.json (Chinese Simplified) [ci skip] * New translations installation.mdx (Korean) [ci skip] * New translations ways-of-contributing.mdx (Korean) [ci skip] * New translations testing.mdx (Korean) [ci skip] * New translations developing-new-features.mdx (Korean) [ci skip] * New translations documenting.mdx (Korean) [ci skip] * New translations fixing-bugs.mdx (Korean) [ci skip] * New translations helping-others.mdx (Korean) [ci skip] * New translations setting-up-a-dev-environment.mdx (Korean) [ci skip] * New translations current.json (Korean) [ci skip] * New translations options.json (Korean) [ci skip] * New translations version-v2.0.0-beta.44.json (Korean) [ci skip] * New translations version-v2.0.0-beta.43.json (Korean) [ci skip] * New translations footer.json (Korean) [ci skip] * New translations navbar.json (Korean) [ci skip] * New translations code.json (Korean) [ci skip] * New translations community-guide.mdx (Japanese) [ci skip] * New translations community-guide.mdx (Korean) [ci skip] * New translations community-guide.mdx (Russian) [ci skip] * New translations community-guide.mdx (Chinese Simplified) [ci skip] * New translations current.json (Japanese) [ci skip] * New translations current.json (Russian) [ci skip] * New translations current.json (Chinese Simplified) [ci skip] * New translations code.json (Japanese) [ci skip] * New translations code.json (Russian) [ci skip] * New translations code.json (Chinese Simplified) [ci skip] * New translations introduction.mdx (Korean) [ci skip] * New translations current.json (Korean) [ci skip] * New translations code.json (Korean) [ci skip] * New translations community-guide.mdx (Japanese) [ci skip] * New translations community-guide.mdx (Korean) [ci skip] * New translations community-guide.mdx (Russian) [ci skip] * New translations community-guide.mdx (Chinese Simplified) [ci skip] * New translations community-guide.mdx (Chinese Simplified) [ci skip] * New translations vscode.mdx (Japanese) [ci skip] * New translations vscode.mdx (Korean) [ci skip] * New translations vscode.mdx (Russian) [ci skip] * New translations vscode.mdx (Chinese Simplified) [ci skip] * New translations current.json (Chinese Simplified) [ci skip] * New translations riftshare.mdx (Chinese Simplified) [ci skip] * New translations surge.mdx (Chinese Simplified) [ci skip] * New translations wally.mdx (Chinese Simplified) [ci skip] * New translations encrypteasy.mdx (Chinese Simplified) [ci skip] * New translations filehound.mdx (Chinese Simplified) [ci skip] * New translations mollywallet.mdx (Chinese Simplified) [ci skip] * New translations optimus.mdx (Chinese Simplified) [ci skip] * New translations _category_.json (Chinese Simplified) [ci skip] * New translations emailit.mdx (Chinese Simplified) [ci skip] * New translations modalfilemanager.mdx (Chinese Simplified) [ci skip] * New translations browser.mdx (Chinese Simplified) [ci skip] * New translations vscode.mdx (Russian) [ci skip] * New translations vscode.mdx (Chinese Simplified) [ci skip] * New translations browser.mdx (Japanese) [ci skip] * New translations browser.mdx (Korean) [ci skip] * New translations browser.mdx (Russian) [ci skip] * New translations dialog.mdx (Japanese) [ci skip] * New translations vscode.mdx (Japanese) [ci skip] * New translations dialog.mdx (Korean) [ci skip] * New translations dialog.mdx (Russian) [ci skip] * New translations dialog.mdx (Chinese Simplified) [ci skip] * New translations events.mdx (Japanese) [ci skip] * New translations events.mdx (Korean) [ci skip] * New translations events.mdx (Russian) [ci skip] * New translations events.mdx (Chinese Simplified) [ci skip] * New translations intro.mdx (Japanese) [ci skip] * New translations intro.mdx (Korean) [ci skip] * New translations intro.mdx (Russian) [ci skip] * New translations vscode.mdx (Korean) [ci skip] * New translations intro.mdx (Chinese Simplified) [ci skip] * New translations log.mdx (Japanese) [ci skip] * New translations options.mdx (Russian) [ci skip] * New translations introduction.mdx (Japanese) [ci skip] * New translations options.mdx (Chinese Simplified) [ci skip] * New translations options.mdx (Korean) [ci skip] * New translations log.mdx (Korean) [ci skip] * New translations log.mdx (Russian) [ci skip] * New translations log.mdx (Chinese Simplified) [ci skip] * New translations menu.mdx (Japanese) [ci skip] * New translations menu.mdx (Korean) [ci skip] * New translations menu.mdx (Russian) [ci skip] * New translations menu.mdx (Chinese Simplified) [ci skip] * New translations window.mdx (Japanese) [ci skip] * New translations window.mdx (Korean) [ci skip] * New translations window.mdx (Russian) [ci skip] * New translations window.mdx (Chinese Simplified) [ci skip] * New translations options.mdx (Japanese) [ci skip] * New translations introduction.mdx (Korean) [ci skip] * New translations introduction.mdx (Russian) [ci skip] * New translations community-guide.mdx (Chinese Simplified) [ci skip] * New translations stats.mdx (Chinese Simplified) [ci skip] * New translations faq.mdx (Chinese Simplified) [ci skip] * New translations markdown-page.md (Chinese Simplified) [ci skip] * New translations introduction.mdx (Chinese Simplified) [ci skip] * New translations 2021-09-27-v2-beta1-release-notes.mdx (Chinese Simplified) [ci skip] * New translations version-v2.0.0-beta.44.json (Chinese Simplified) [ci skip] * Empty-Commit * Fix crowdin screwups again
102 lines
3.5 KiB
Plaintext
102 lines
3.5 KiB
Plaintext
# Linux 发行版支持
|
||
|
||
## 概述
|
||
|
||
Wails 提供 Linux 支持,但为所有可用发行版提供安装说明是一项不可能完成的任务。 相反,Wails 会尝试确定您开发应用程序所需的包是否可以通过系统的包管理器获得。 目前,我们支持以下包管理器:
|
||
|
||
- apt
|
||
- dnf
|
||
- emerge
|
||
- eopkg
|
||
- nixpkgs
|
||
- pacman
|
||
- zypper
|
||
|
||
## 添加包名
|
||
|
||
在某些情况下,您的发行版使用受支持的包管理器之一,但包名称不同。 例如,您可能使用 Ubuntu 衍生产品,但 gtk 的包名称可能不同。 Wails 尝试通过遍历包名称列表来找到正确的包。 包列表存储在`v2/internal/system/packagemanager` 目录中的包管理器特定文件中。 在我们的示例中,将是`v2/internal/system/packagemanager/apt.go`。
|
||
|
||
在此文件中,包列表由以下`Packages()`方法定义:
|
||
|
||
```go
|
||
func (a *Apt) Packages() packagemap {
|
||
return packagemap{
|
||
"libgtk-3": []*Package{
|
||
{Name: "libgtk-3-dev", SystemPackage: true, Library: true},
|
||
},
|
||
"libwebkit": []*Package{
|
||
{Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
|
||
},
|
||
"gcc": []*Package{
|
||
{Name: "build-essential", SystemPackage: true},
|
||
},
|
||
"pkg-config": []*Package{
|
||
{Name: "pkg-config", SystemPackage: true},
|
||
},
|
||
"npm": []*Package{
|
||
{Name: "npm", SystemPackage: true},
|
||
},
|
||
"docker": []*Package{
|
||
{Name: "docker.io", SystemPackage: true, Optional: true},
|
||
},
|
||
}
|
||
}
|
||
```
|
||
|
||
假设在我们的 linux 发行版中,libgtk-3 以 lib-gtk3-dev 的名称打包。 我们可以通过添加以下行来添加对此的支持:
|
||
|
||
```go {5}
|
||
func (a *Apt) Packages() packagemap {
|
||
return packagemap{
|
||
"libgtk-3": []*Package{
|
||
{Name: "libgtk-3-dev", SystemPackage: true, Library: true},
|
||
{Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
|
||
},
|
||
"libwebkit": []*Package{
|
||
{Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
|
||
},
|
||
"gcc": []*Package{
|
||
{Name: "build-essential", SystemPackage: true},
|
||
},
|
||
"pkg-config": []*Package{
|
||
{Name: "pkg-config", SystemPackage: true},
|
||
},
|
||
"npm": []*Package{
|
||
{Name: "npm", SystemPackage: true},
|
||
},
|
||
"docker": []*Package{
|
||
{Name: "docker.io", SystemPackage: true, Optional: true},
|
||
},
|
||
}
|
||
}
|
||
```
|
||
|
||
## 添加新的包管理器
|
||
|
||
要添加新的包管理器,请执行以下步骤:
|
||
|
||
- 在`v2/internal/system/packagemanager`中创建一个名为`<pm>.go`的新文件,其中`<pm>`是包管理器的名称。
|
||
- 定义一个符合`pm.go`中定义的包管理器接口的结构体。
|
||
|
||
```go
|
||
type PackageManager interface {
|
||
Name() string
|
||
Packages() packagemap
|
||
PackageInstalled(*Package) (bool, error)
|
||
PackageAvailable(*Package) (bool, error)
|
||
InstallCommand(*Package) string
|
||
}
|
||
```
|
||
|
||
- `Name()` 应该返回包管理器的名称
|
||
- `Packages()` 应该返回一个`packagemap`,它为依赖项提供候选文件名
|
||
- `PackageInstalled()` 如果安装了指定的包,应该返回`true`
|
||
- `PackageAvailable()` 如果指定的软件包未安装但可以安装,则应返回`true`
|
||
- `InstallCommand()` 应该返回确切的命令来安装指定的包名
|
||
|
||
查看其他包管理器代码以了解其工作原理。
|
||
|
||
:::info 记住
|
||
如果您添加了对新包管理器的支持,请不要忘记更新此页面!
|
||
:::
|