1---
2date: "2016-12-01T16:00:00+02:00"
3title: "原始碼安裝"
4slug: "install-from-source"
5weight: 10
6toc: false
7draft: false
8menu:
9  sidebar:
10    parent: "installation"
11    name: "原始碼安裝"
12    weight: 30
13    identifier: "install-from-source"
14---
15
16# 從原始碼安裝
17
18我們不會在本文教大家如何安裝 Golang 環境。假如您不知道如何設定環境,請直接參考[官方安裝文件](https://golang.org/doc/install)19
20## 下載
21
22首先您必須先下載原始碼,最簡單的方式就是透過 Go 指令下載,請透過底下指令下載原始碼並且切換到工作目錄。
23
24```
25go get -d -u code.gitea.io/gitea
26cd $GOPATH/src/code.gitea.io/gitea
27```
28
29現在該決定您要編譯或安裝的 Gitea 版本,您有很多可以選擇。如果您想編譯 `master` 版本,你可以直接跳到[編譯章節](#build),這是我們開發分支,雖然很穩定,但是不建議用在正式環境。
30
31假如您想要編譯最新穩定版本,可以執行底下命令切換到正確版本:
32
33```
34git branch -a
35git checkout v{{< version >}}
36```
37
38最後您也可以直接編譯最新的標籤版本像是 `v{{< version >}}`,假如您想要從原始碼編譯,這方法是最合適的,在編譯標籤版本前,您需要列出當下所有標籤,並且直接切換到標籤版本,請使用底下指令::
39
40```
41git tag -l
42git checkout v{{< version >}}
43```
44
45## 編譯
46
47完成設定相依性套件環境等工作後,您就可以開始編譯工作了。我們提供了不同的[編譯選項](https://github.com/go-gitea/gitea/blob/master/Makefile) ,讓編譯過程更加簡單。您可以根據需求來調整編譯選項,底下是可用的編譯選項說明:
48
49* `bindata`: 使用此標籤來嵌入所有 Gitea 相關資源,您不用擔心其他額外檔案,對於部署來說非常方便。
50* `sqlite sqlite_unlock_notify`: 使用此標籤來啟用 [SQLite3](https://sqlite.org/) 資料庫,建議只有少數人時才使用此模式。
51* `pam`: 使用此標籤來啟用 PAM (Linux Pluggable Authentication Modules) 認證,對於系統使用者來說,此方式最方便了。
52
53現在您可以開始編譯執行檔了,我們建議使用 `bindata` 編譯選項:
54
55```
56TAGS="bindata" make build
57```
58
59**注意**: 因為使用了套件管理工具,我們建議 Go 環境版本為 1.6 或者是更高,這樣不用在 Go 1.5 版本設定全域變數 `GO15VENDOREXPERIMENT`。
60
61## 測試
62
63完成上述步驟後,您可以在當下目錄發現 `gitea` 執行檔,在複製執行檔到遠端環境之前,您必須透過底下指令執行測試,使用 `Ctrl + C` 則可以關閉當下 gitea 程序。
64
65```
66./gitea web
67```
68
69## 需要協助?
70
71如果本頁中無法解決您的問題,請直接到 [Discord server](https://discord.gg/Gitea),在那邊可以快速得到協助。
72