通过本文,你将了解到如何:
我们建议您在开始之前,先运行一遍 ffx platform preflight
命令.
其中,参数 preflight
用来检测你的电脑,然后罗列出影响源码构建和模拟器运行的因素。
-
对于 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
构建 Fuchsia 工程需要将 curl
、unzip
和 git
保持最新版本:
-
对于 Linux,使用以下命令来安装或更新这些软件:
sudo apt-get install curl git unzip
提示: Fuchsia 要求 Git 使用 2.28 及以上版本.
-
对于 macOS, 请安装 Xcode command line tools:
xcode-select --install
Fuchsia 的 bootstrap 脚本会创建一个名为 fuchsia
的目录,
所有从源代码仓库下载的内容都会保存在该目录下。
说明:下载 Fuchsia源代码需要你的设备拥有至少 2 GiB 的存储空间。此外, 根据你选择的 Fuchsia 构建配置不同,构建时还需要额外的 80-90 GiB 存储空间。
执行下述操作,来下载 Fuchsia 源代码:
-
选择一个目录,用来保存源代码:
说明:你可以选择任意目录, 此处我们选择用户主目录
cd ~
-
运行 bootstrap 脚本:
curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
这个脚本会创建一个名为
fuchsia
的文件夹来保存源代码. 下载过程最多可能需要 60 分钟.脚本执行过程如果出现
Invalid authentication credentials
错误,请参考 身份验证错误 来解决该问题。
Fuchsia 建议通过更新你所使用的 shell 的配置脚本来完成下述操作 (参见 更新 shell 脚本 ):
-
将
.jiri_root/bin
目录添加到你的PATH
环境变量中Fuchsia 源代码中
.jiri_root/bin
目录包含的jiri{:.external}
和fx
是 Fuchsia 工作流中至关重要的工具。jiri
用来管理 Fuchsia 项目中各个源代码仓库。fx
则用来 配置、构建、运行和调试 Fuchsia。 Fuchsia 工具链需要jiri
被包含在PATH
环境变量中。
-
执行
scripts/fx-env.sh
脚本文件。虽然并非必要,但是执行
fx-env.sh
脚本可以帮助你在终端中启用一些有用的方法。例如,它会创建一个名为FUCHSIA_DIR
的环境变量,用来指向 Fuchsia 目录, 并且提供一个名为fd
的命令,用来t提供目录切换时,提供针对性的自动补全功能 (请查看fx-env.sh
文件中的注释获取更多信息)。
更新你的 shell 配置脚本 用以将 Fuchsia 的环境变量添加到你的终端环境中。
说明:如果你不想修改环境变量,请参考以不修改 PATH 环境变量的方式开发 Fuchsia。
执行下述操作:
-
使用文本编辑器打开
~/.bash_profile
文件,比如:说明:此处以
bash
终端 为例。 如果你使用的是zsh
,请将下面的~/.bash_profile
替换为~/.zprofile
:nano ~/.bash_profile
-
向
~/.bash_profile
文件中添加下述内容:说明:如果你修改了 Fuchsia 目录,请替换
~/fuchsia
为你的 Fuchsia 实际保存目录。export PATH=~/fuchsia/.jiri_root/bin:$PATH source ~/fuchsia/scripts/fx-env.sh
- 保存文件,并退出文本编辑器。
- 执行下述命令来更新环境变量:
source ~/.bash_profile
-
在
fuchsia
目录执行下述命令,确保没有错误:jiri help
fx help
前往入门指南中 配置和构建 Fuchsia ,执行下一步操作。
如果你在 bootstrap 脚本执行过程中遇到 Invalid authentication credentials
错误, 很可能是因为你的 ~/.gitcookies
文件包含了来自
googlesource.com
的仓库的cookies,bootstrap 脚本会匿名地检出这些cookies。
为避免此错误,你可以尝试执行下述任意一个操作:
- 根据屏幕上的指导,获取指定仓库的密码
- 从
.gitcookies
文件中删除有问题的 cookies。
下面提供了几种更新 shell 配置脚本 的备选方案:
如果你不想更新环境变量,但又想要在任意目录使用 jiri
工具, 则可以把 jiri
工具拷贝到 ~/bin
目录中, 比如:
说明:如果你的 Fuchsia 源代码不在 ~/fuchsia
目录,请替换 ~/fuchsia
为源代码实际目录。
cp ~/fuchsia/.jiri_root/bin/jiri ~/bin
然而,为了保证 jiri
始终为最新版本,你必须在不借助 sudo
的情况下,拥有对 ~/bin
目录的写入权限。
同样的,如果你不想更新环境变量,但又想使用 fx
工具, 则可以把 jiri
工具链接到 ~/bin
目录中, 比如:
说明: 如果你的 Fuchsia 源代码不在 ~/fuchsia
目录,请替换 ~/fuchsia
为源代码实际目录。
ln -s ~/fuchsia/scripts/fx ~/bin
又或者,你可以直接通过绝对路径来使用 fx
, 比如:
./scripts/fx help
但是, 无论哪种情况,你都需要在 PATH
环境变量中包含 jiri
。