本指南说明了如何下载 Fuchsia 源代码以及在您的机器上部署开发环境。
步骤如下:
Fuchsia 提供了一个预检查工具(ffx platform preflight
),这个工具可以测试您的机器,并会通知您在该机器上可能会影响从源代码构建 Fuchsia 的任何问题。
注意:这个预检查工具只支持 x64 架构。目前 Fuchsia 不保证在其他宿主架构上能构建成功,比如 Windows 和 ARM64。
运行如下命令:
-
{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
、 file
、 unzip
以及 git
等工具是最新版。 git
版本需为 2.28 或以上。
- {Linux}
安装(或更新)以下软件包:
sudo apt install curl file git unzip
- {macOS}
安装 Xcode 命令行工具:
注意:如果 ffx platform preflight
显示 Xcode 工具已经安装,则请跳过这一步。
xcode-select --install
Fuchsia 提供了一个引导脚本,这个脚本会创建一个名为 fuchsia
的文件夹,并把 Fuchsia 源码下载到这里。
下载 Fuchsia 源码要求您机器上有大约 2 GB 的存储空间。根据您的构建配置,之后在构建 Fuchsia 时,您还额外需要 80 到 90 GB 的存储空间。另外,下载过程中也会使用大量的内存。建议您在此过程中关闭其他非必要的进程。
要下载 Fuchsia 源代码,请执行如下步骤:
-
选择一个 Fuchsia 源代码下载目录,例如:
注意:您可以在任何目录下设置 Fuchsia。本指南选择
$HOME
作为示例。cd $HOME
-
运行引导脚本:
注意:下载 Fuchsia 源代码可能需要 60 分钟。
curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
这个脚本会创建 `fuchsia` 目录,并且下载源代码。
如果您在脚本运行期间看到了 `Invalid authentication credentials` 错误信息,请参考[认证错误](#authentication-error)章节寻求帮助。
Fuchsia 建议您按照如下操作更新 shell 配置文件:
-
添加
.jiri_root/bin
目录到您的PATH
环境变量Fuchsia 源码中的
.jiri_root/bin
目录包含了jiri
和fx
工具,这些是 Fuchsia 工作流中的必备工具。Fuchsia 使用jiri
工具在 Fuchsia 的项目中管理仓库,而fx
工具能够帮助配置、构建、运行以及调试 Fuchsia。Fuchsia 的工具链需要可以在您的PATH
环境变量中找到jiri
工具。
-
使用“source”命令导入
scripts/fx-env.sh
文件虽然这并不是必须的,但是使用“source”命令导入
fx-env.sh
文件可以在您的终端中启用一系列有用的 shell 函数。比如,它会创建FUCHSIA_DIR
环境变量,以及提供fd
命令用来在目录中导航时提供自动补全 (要获取更多信息,请参阅fx-env.sh
中的注释)。
注意:如果您不想更新您的 shell 配置,则请参阅在不更新 PATH 变量的情况下准备 Fuchsia。
要更新您的 shell 配置文件来设置 Fuchsia 的环境变量,请执行如下步骤:
-
使用文本编辑器打开您的
~/.bash_profile
文件(在以下示例中,我们使用 Nano{:.external} 文本编辑器):注意:本指南使用
bash
终端作为示例,如果您使用zsh
,请在后续步骤中请替换~/.bash_profile
为~/.zprofile
:nano ~/.bash_profile
-
在您的
~/.bash_profile
文件中添加如下配置:注意:如果您的 Fuchsia 源码不在
~/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 并不是必需的。但是推荐您进行该步骤,以确保 Fuchsia 模拟器实例能在 Linux 上流畅运行。
(仅限 Linux)如果您计划在 Linux 中运行 Fuchsia,那么建议您运行如下命令,在宿主机上允许 Fuchsia 特定流量:
fx setup-ufw
该脚本需要 sudo
权限(会要求您输入密码)来设置适当的防火墙规则。(要获取关于该脚本的更多信息,请参考 setup-ufw
)。
要构建您第一个 Fuchsia 系统镜像,请参阅配置和构建 Fuchsia。
如果您在引导脚本运行过程中看到了 Invalid authentication credentials
(无效的认证凭据)错误信息,那么您的 ~/.gitcookies
文件中可能含有来自 googlesource.com
中一些仓库的 cookie,引导脚本想要匿名检查。
要解决该错误,请使用以下方式之一:
- 按照屏幕上的指示为指定仓库获取密码。
- 删除
.gitcookies
文件中有问题的 cookie。
下面的章节为设置环境变量章节提供了替代方法:
如果您不想更新您的环境变量,但是想在任何目录中使用 jiri
工具,那么请把 jiri
工具复制到 ~/bin
目录中,比如:
注意:如果您的 Fuchsia 源码不在 ~/fuchsia
目录中,则请把 ~/fuchsia
替换为您的 Fuchsia 目录。
cp ~/fuchsia/.jiri_root/bin/jiri ~/bin
但是,您必须在没有 sudo
的情况下对 ~/bin
有写访问权限。否则,jiri
无法自动保持最新版本。
同样地,如果您想在不更新环境变量的情况下使用 fx
工具,则请在 ~/bin
路径中添加您 fx
工具的链接文件,比如:
注意:如果您的 Fuchsia 源码不在 ~/fuchsia
目录中,则请把 ~/fuchsia
替换为您的 Fuchsia 目录。
ln -s ~/fuchsia/scripts/fx ~/bin
或者,请直接使用 fx
工具的路径来运行,比如:
./scripts/fx help
无论哪种情况,您都需要 jiri
工具在您的 PATH
环境变量中。