Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Chinese documents #26139

Merged
merged 10 commits into from Jul 26, 2023
Merged
Prev Previous commit
Next Next commit
solve the conflicts
  • Loading branch information
eric committed Jul 26, 2023
commit 75d78b1fb72985f63a84151cb96eead6e0ceb8f0
43 changes: 21 additions & 22 deletions docs/content/installation/from-source.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ menu:

# 使用源代码安装

你需要 [安装Go](https://golang.org/doc/install) 并正确设置Go环境。特别的,建议设置`$GOPATH`环境变量,并将 Go 的二进制目录或目录`${GOPATH//:https://bin:}/bin`添加到`$PATH`中。请参阅 Go 百科上关于 [GOPATH](https://github.com/golang/go/wiki/GOPATH) 的条目
你需要 [安装Go](https://golang.google.cn/doc/install) 并正确设置Go环境。特别的,建议设置`$GOPATH`环境变量,并将 Go 的二进制目录或目录`${GOPATH//:https://bin:}/bin`添加到`$PATH`中。请参阅 Go 百科上关于 [GOPATH](https://github.com/golang/go/wiki/GOPATH) 的词条

接下来,[安装 Node.js 和 npm](https://nodejs.org/en/download/),这是构建 JavaScript 和 CSS 文件所需的。最低支持的 Node.js 版本是{{< min-node-version >}},建议使用最新的 LTS 版本。
接下来,[安装 Node.js 和 npm](https://nodejs.org/zh-cn/download/), 这是构建 JavaScript 和 CSS 文件所需的。最低支持的 Node.js 版本是 @minNodeVersion@,建议使用最新的 LTS 版本。

**注意**:当执行需要外部工具的 make 任务(如`make misspell-check`)时,Gitea 将根据需要自动下载和构建这些工具。为了能够实现这个目的,你必须将`"$GOPATH/bin"`目录添加到可执行路径中。如果没有将 Go 的二进制目录添加到可执行路径中,你需要自行解决产生的问题。

**注意2**:需要 Go 版本 {{< min-go-version >}} 或更高版本。不过,建议获取与我们的持续集成(continuous integration, CI)相同的版本,请参阅在 [Hacking on Gitea]({{< relref "doc/development/hacking-on-gitea.en-us.md" >}}) 中给出的建议。
**注意2**:需要 Go 版本 @minGoVersion@ 或更高版本。不过,建议获取与我们的持续集成(continuous integration, CI)相同的版本,请参阅在 [Hacking on Gitea](development/hacking-on-gitea.md) 中给出的建议。

## 下载

Expand All @@ -50,22 +50,21 @@ git checkout v@version@
git fetch origin pull/xyz/head:pr-xyz
```

要以指定发行版本(如 v{{< version >}} )的源代码来构建 Gitea,可执行以下命令列出可用的版本并选择某个版本签出。

要以指定发行版本(如 v@version@ )的源代码来构建 Gitea,可执行以下命令列出可用的版本并选择某个版本签出。
使用以下命令列出可用的版本:

```bash
git tag -l
git checkout v{{< version >}} # or git checkout pr-xyz
git checkout v@version@ # or git checkout pr-xyz
```

## 构建

要从源代码进行构建,系统必须预先安装以下程序:

- `go` {{< min-go-version >}} 或更高版本,请参阅 [这里](https://golang.org/dl/)
- `node` {{< min-node-version >}} 或更高版本,并且安装 `npm`, 请参阅 [这里](https://nodejs.org/en/download/)
- `make`, 请参阅 [这里]({{< relref "doc/development/hacking-on-gitea.en-us.md" >}}#installing-make)
- `go` @minGoVersion@ 或更高版本,请参阅 [这里](https://golang.org/dl/)
- `node` @minNodeVersion@ 或更高版本,并且安装 `npm`, 请参阅 [这里](https://nodejs.org/zh-cn/download/)
- `make`, 请参阅 [这里](/zh-cn/hacking-on-gitea/)

为了尽可能简化编译过程,提供了各种 [make任务](https://github.com/go-gitea/gitea/blob/main/Makefile)。

Expand All @@ -92,8 +91,8 @@ TAGS="bindata sqlite sqlite_unlock_notify" make build

`build`目标分为两个子目标:

- `make backend` 需要 [Go {{< min-go-version >}}](https://golang.org/dl/) 或更高版本。
- `make frontend` 需要 [Node.js {{< min-node-version >}}](https://nodejs.org/en/download/) 或更高版本。
- `make backend` 需要 [Go @minGoVersion@](https://golang.google.cn/doc/install) 或更高版本。
- `make frontend` 需要 [Node.js @minNodeVersion@](https://nodejs.org/zh-cn/download/) 或更高版本。

如果存在预构建的前端文件,可以仅构建后端:

Expand All @@ -113,25 +112,25 @@ TAGS="bindata" make backend

## 更改默认路径

Gitea 将从_`CustomPath`_中查找许多信息。默认的,这会在运行 Gitea 时当前工作目录下的`custom/`目录中(译者案:即`$PATH_TO_YOUR_GITEA$/custom/`)。它还将在`$(CustomPath)/conf/app.ini`中查找其配置文件_`CustomConf`_,并将当前工作目录用作一些可配置值的相对基本路径_`AppWorkPath`_。最后,静态文件将从默认为 `AppWorkPath`的_`StaticRootPath`_提供
Gitea 将从`CustomPath`中查找许多信息。默认的,这会在运行 Gitea 时当前工作目录下的`custom/`目录中(译者案:即`$PATH_TO_YOUR_GITEA$/custom/`)。它还将在`$(CustomPath)/conf/app.ini`中查找其配置文件`CustomConf`,并将当前工作目录用作一些可配置值的相对基本路径`AppWorkPath`。最后,静态文件将从默认为 `AppWorkPath``StaticRootPath`提供

尽管在开发时这些值很有用,但可能与下游用户的偏好冲突。

一种选择是使用脚本文件来隐藏`gitea`二进制文件,并在运行Gitea之前创建适当的环境。然而,在构建时,可以使用`make`的`LDFLAGS`环境变量来更改这些默认值。适当的设置如下:

- 要设置_`CustomPath`_,请使用`LDFLAGS="-X \"code.gitea.io/gitea/modules/setting.CustomPath=custom-path\""`
- 对于_`CustomConf`_,应该使用`-X \"code.gitea.io/gitea/modules/setting.CustomConf=conf.ini\"`
- 对于_`AppWorkPath`_,应该使用`-X \"code.gitea.io/gitea/modules/setting.AppWorkPath=working-path\"`
- 对于_`StaticRootPath`_,应该使用`-X \"code.gitea.io/gitea/modules/setting.StaticRootPath=static-root-path\"`
- 要更改默认的PID文件位置,请使用`-X \"code.gitea.io/gitea/cmd.PIDFile=/run/gitea.pid\"`
- 要设置`CustomPath`,请使用`LDFLAGS="-X \"code.gitea.io/gitea/modules/setting.CustomPath=custom-path\""`
- 对于`CustomConf`,应该使用`-X \"code.gitea.io/gitea/modules/setting.CustomConf=conf.ini\"`
- 对于`AppWorkPath`,应该使用`-X \"code.gitea.io/gitea/modules/setting.AppWorkPath=working-path\"`
- 对于`StaticRootPath`,应该使用`-X \"code.gitea.io/gitea/modules/setting.StaticRootPath=static-root-path\"`
- 要更改默认的 PID 文件位置,请使用`-X \"code.gitea.io/gitea/cmd.PIDFile=/run/gitea.pid\"`

将这些字符串与其前导的`-X`添加到`LDFLAGS`变量中,并像上面那样使用适当的`TAGS`运行`make build`。

运行`gitea help`将允许您查看配置的`gitea`设置。

## 交叉编译

`go`编译器工具链支持将代码交叉编译到不同的目标架构上。请参考[`GOOS`和`GOARCH`环境变量](https://golang.org/doc/install/source#environment)以获取支持的目标列表。如果您想为性能较弱的系统(如树莓派)构建 Gitea,交叉编译非常有用。
`go`编译器工具链支持将代码交叉编译到不同的目标架构上。请参考[`GOOS`和`GOARCH`环境变量](https://golang.org/doc/install/source#environment) 以获取支持的目标列表。如果您想为性能较弱的系统(如树莓派)构建 Gitea,交叉编译非常有用。

要使用构建标签(`TAGS`)进行交叉编译Gitea,您还需要一个 C 交叉编译器,该编译器的目标架构与`GOOS`和`GOARCH`变量选择的架构相同。例如,要为 Linux ARM64(`GOOS=linux`和`GOARCH=arm64`)进行交叉编译,您需要`aarch64-unknown-linux-gnu-gcc`交叉编译器。这是因为 Gitea 构建标签使用了`cgo`的外部函数接口(FFI)。

Expand All @@ -157,17 +156,17 @@ LDFLAGS="-linkmode external -extldflags '-static' $LDFLAGS" TAGS="netgo osusergo

这可以与上述的`CC`、`GOOS`和`GOARCH`结合使用。

### 添加 bash/zsh 自动补全(从1.19版本起
### 添加 bash/zsh 自动补全(从 1.19 版本起

在[`contrib/autocompletion/bash_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/bash_autocomplete)中可以找到一个启用 bash 自动补全的脚本。您可以根据需要进行修改,并在您的 `.bashrc` 中使用 `source` 命令加载该脚本,或者将其复制到 `/usr/share/bash-completion/completions/gitea`。

类似地,可以在[`contrib/autocompletion/zsh_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/zsh_autocomplete)中找到一个用于 zsh 自动补全的脚本。您可以将其复制到 `/usr/share/zsh/_gitea`,或者在您的 `.zshrc` 中使用 `source` 命令加载该脚本。

可能需要你根据具体情况进一步改进这些脚本。

## 在Linux上使用Zig进行编译或交叉编译
## 在 Linux 上使用 Zig 进行编译或交叉编译

请按照 [Zig 的入门指南](https://ziglang.org/learn/getting-started/#installing-zig) 安装Zig
请按照 [Zig 的入门指南](https://ziglang.org/learn/getting-started/#installing-zig) 安装 Zig

- 编译 (Linux ➝ Linux)

Expand All @@ -194,7 +193,7 @@ TAGS="bindata sqlite sqlite_unlock_notify" \
make build
```

## 在Windows上使用Zig进行编译或交叉编译
## 在 Windows 上使用 Zig 进行编译或交叉编译

使用`GIT BASH`编译。

Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.