本指南說明如何在電腦上下載 Fuchsia 原始碼,以及在電腦上設定 Fuchsia 開發環境。
步驟如下:
1. 安裝必要套件
Fuchsia 需要 curl
、file
、unzip
和 git
更新至最新版本。git
的版本需為 2.31 以上。
Linux
安裝 (或更新) 下列套件:
sudo apt install curl file git unzip
macOS
安裝 Xcode 指令列工具:
xcode-select --install
2. 執行預檢
Fuchsia 提供預檢工具 (ffx platform preflight
),可檢查你的機器,並在發現任何會影響機器來源建構 Fuchsia 的問題時通知你。
執行下列指令:
Linux
curl -sO https://storage.googleapis.com/fuchsia-ffx/ffx-linux-x64 && chmod +x ffx-linux-x64 && ./ffx-linux-x64 platform preflight
macOS
curl -sO https://storage.googleapis.com/fuchsia-ffx/ffx-macos-x64 && chmod +x ffx-macos-x64 && ./ffx-macos-x64 platform preflight
3. 下載 Fuchsia 原始碼
Fuchsia 提供啟動指令碼,可建立名為 fuchsia
的目錄,並在該目錄下載 Fuchsia 原始碼。
下載 Fuchsia 原始碼需要約 2 GB 的機器空間。視您的建構設定而定,之後建構 Fuchsia 時,會需要另一組 80 至 90 GB 的空間。此外,下載程序會使用大量記憶體。在這段期間內,能夠關閉非關鍵程序。
如要下載 Fuchsia 來源,請按照下列步驟操作:
選取要下載 Fuchsia 原始碼的目錄,例如:
cd $HOME
執行 bootstrap 指令碼:
curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
這個指令碼會建立
fuchsia
目錄並下載原始碼。如果您在啟動程序期間看到
Invalid authentication credentials
錯誤,請參閱「驗證錯誤」尋求協助。如果網際網路連線速度較慢且發生逾時,建議您直接下載 Bootstrap 指令碼,並增加
-fetch-packages-timeout
和-hook-timeout
的值。這些逾時時間是以分鐘為單位,其中指出套件下載內容的逾時時間為 2 小時。(下載 CIPD 套件時,-hook-timeout
值會乘以 5)。
4. 設定環境變數
Fuchsia 建議您更新殼層設定檔,加入下列操作:
將
.jiri_root/bin
目錄新增至PATH
。Fuchsia 來源中的
.jiri_root/bin
目錄包含 Fuchsia 工作流程必備的jiri
和fx
工具。Fuchsia 使用jiri
工具管理 Fuchsia 專案中的存放區,而fx
工具則可協助您設定、建構、執行及偵錯 Fuchsia。Fuchsia 工具鍊需要PATH
中的jiri
。取得
scripts/fx-env.sh
檔案。雖然這並非必要步驟,但只要取得
fx-env.sh
指令碼,即可在終端機中啟用許多實用的殼層函式。舉例來說,它會建立FUCHSIA_DIR
環境變數並提供fd
指令,讓您透過自動完成功能瀏覽目錄。(詳情請參閱fx-env.sh
中的註解)。
如要更新殼層設定檔來設定 Fuchsia 的環境變數,請按照下列指示操作:
使用文字編輯器開啟
~/.bash_profile
檔案 (在下方範例中,我們會使用「Nano」文字編輯器):nano ~/.bash_profile
在
~/.bash_profile
檔案中新增下列程式碼:export PATH=~/fuchsia/.jiri_root/bin:$PATH source ~/fuchsia/scripts/fx-env.sh
儲存檔案並結束文字編輯器。
如要更新環境變數,請執行下列指令:
source ~/.bash_profile
確認您可以在
fuchsia
目錄中執行下列指令,而不發生錯誤:jiri help
fx help
5. 設定防火牆規則 (選用)
(僅限 Linux) 如果您計劃在 Linux 上執行 Fuchsia,建議執行下列指令,允許 Fuchsia 在主機上執行流量:
fx setup-ufw
這個指令碼需要 sudo
(要求輸入密碼) 才能設定適當的防火牆規則。(如要進一步瞭解這個指令碼,請參閱 setup-ufw
)。
後續步驟
如要建構您的第一個 Fuchsia 系統映像檔,請參閱「設定及建構 Fuchsia」一文。
附錄
驗證錯誤
如果您在啟動程序期間看到 Invalid authentication credentials
錯誤,則 ~/.gitcookies
檔案可能包含 googlesource.com
中部分存放區的 Cookie,而該 Bootstrap 指令碼想要匿名查看。
如要解決這個錯誤,請按照下列其中一種做法進行:
- 依照螢幕上的指示取得指定存放區的密碼。
- 從
.gitcookies
檔案中刪除違規的 Cookie。
在不更新路徑的情況下使用 Fuchsia
下列各節提供設定環境變數一節的替代方法:
將工具複製到二進位檔目錄
如果您不想更新環境變數,但希望 jiri
在任何目錄中運作,請將 jiri
工具複製到 ~/bin
目錄,例如:
cp ~/fuchsia/.jiri_root/bin/jiri ~/bin
不過,您必須擁有沒有 sudo
的 ~/bin
目錄寫入權限。如果不這麼做,jiri
就無法自行更新至最新版本。
將符號連結新增至二進位檔目錄
同樣地,如果您想在不更新環境變數的情況下使用 fx
工具,請在 ~/bin
目錄中提供 fx
工具的符號連結,例如:
ln -s ~/fuchsia/scripts/fx ~/bin
或者,您也可以使用 fx
工具的路徑直接執行,例如:
./scripts/fx help
不論是哪一種情況,PATH
中都需要使用 jiri
。