You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

from-source.zh-cn.md 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ---
  2. date: "2016-12-01T16:00:00+02:00"
  3. title: "从源代码安装"
  4. slug: "install-from-source"
  5. weight: 10
  6. toc: true
  7. draft: false
  8. menu:
  9. sidebar:
  10. parent: "installation"
  11. name: "从源代码安装"
  12. weight: 30
  13. identifier: "install-from-source"
  14. ---
  15. # 从源代码安装
  16. 首先你需要安装Golang,关于Golang的安装,参见官方文档 [install instructions](https://golang.org/doc/install)。
  17. ## 下载
  18. 你需要获取Gitea的源码,最方便的方式是使用 go 命令。执行以下命令:
  19. ```
  20. go get -d -u code.gitea.io/gitea
  21. cd $GOPATH/src/code.gitea.io/gitea
  22. ```
  23. 然后你可以选择编译和安装的版本,当前你有多个选择。如果你想编译 `master` 版本,你可以直接跳到 [编译](#build) 部分,这是我们的开发分支,虽然也很稳定但不建议您在正式产品中使用。
  24. 如果你想编译最新稳定分支,你可以执行以下命令签出源码:
  25. ```
  26. git branch -a
  27. git checkout v{{< version >}}
  28. ```
  29. 最后,你也可以直接使用标签版本如 `v{{< version >}}`。你可以执行以下命令列出可用的版本并选择某个版本签出:
  30. ```
  31. git tag -l
  32. git checkout v{{< version >}}
  33. ```
  34. ## 编译
  35. 要从源代码进行编译,以下依赖程序必须事先安装好:
  36. - `go` 1.11.0 或以上版本, 详见 [here](https://golang.org/dl/)
  37. - `node` 10.0.0 或以上版本,并且安装 `npm`, 详见 [here](https://nodejs.org/en/download/)
  38. - `make`, 详见 <a href='{{< relref "make.zh-cn.md" >}}'>这里</a>
  39. 各种可用的 [make 任务](https://github.com/go-gitea/gitea/blob/master/Makefile)
  40. 可以用来使编译过程更方便。
  41. 按照您的编译需求,以下 tags 可以使用:
  42. * `bindata`: 这个编译选项将会把运行Gitea所需的所有外部资源都打包到可执行文件中,这样部署将非常简单因为除了可执行程序将不再需要任何其他文件。
  43. * `sqlite sqlite_unlock_notify`: 这个编译选项将启用SQLite3数据库的支持,建议只在少数人使用时使用这个模式。
  44. * `pam`: 这个编译选项将会启用 PAM (Linux Pluggable Authentication Modules) 认证,如果你使用这一认证模式的话需要开启这个选项。
  45. 使用 bindata 可以打包资源文件到二进制可以使开发和测试更容易,你可以根据自己的需求决定是否打包资源文件。
  46. 要包含资源文件,请使用 `bindata` tag:
  47. ```bash
  48. TAGS="bindata" make build
  49. ```
  50. 警告: `generate` 已经废弃,使用 `generate` 会导致资源文件打包失败。
  51. 默认的发布版本中的编译选项是: `TAGS="bindata sqlite sqlite_unlock_notify"`。以下为推荐的编译方式:
  52. ```bash
  53. TAGS="bindata sqlite sqlite_unlock_notify" make build
  54. ```
  55. ## 测试
  56. 在执行了以上步骤之后,你将会获得 `gitea` 的二进制文件,在你复制到部署的机器之前可以先测试一下。在命令行执行完后,你可以 `Ctrl + C` 关掉程序。
  57. ```
  58. ./gitea web
  59. ```
  60. ## 需要帮助?
  61. 如果从本页中没有找到你需要的内容,请访问 [帮助页面]({{< relref "seek-help.zh-cn.md" >}})