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