Jiri 的编译和安装

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com

最近在研究学习 Fuchsia,需要从Google Open Source上下载 Fuchsia 的源代码进行编译,Fuchsia 的源代码有多个 git 仓库,使用 Jiri 进行管理,因此下载 Fuchsia 的源代码也需要安装 Jiri。

目前我使用 Linux 和 Mac OS X 上进行编译和编码工作,因此我在 Linux 上和 Mac OS X 上通过 Golang 编译 Jiri 后安装或者直接使用 Google 的引导脚本都能顺利安装 Jiri,Widows 系统可以通过 Golang 来编译后安装 Jiri。

Fuchsia 仓库的 WebGit 地址是https://fuchsia.googlesource.com,Jiri 属于它的子仓库,其 WebGit 地址是https://fuchsia.googlesource.com/jiri,上述两个地址都可以通过 HTTP 或者 Git 访问。

访问 Google Open Source 需要越过 GFW(仅学术研究用途),开发者自己想办法,如果没有这个条件的话,那就放弃治疗吧,哈哈。


本文内容

  • 通过 Golang 编译 Jiri 源码安装 Jiri
  • 通过 Bootstrapping 脚本安装 Jiri

方式一,通过 Golang 编译 Jiri 源码安装 Jiri

Jiri 是使用 Golang 开发的,因此需要先安装 Golang,然后使用 Git 下载 Jiri 的源代码,然后用 Golang 编译 Jiri 的源代码为二进制文件。

安装 Golang

先在命令行试一下是否安装了 Golang:

go version

如果安装过了就会打印出 Golang 的版本,如果没有安装则会提示没有go命令。

如果是使用解压版安装的 Golang,那么还需要配置一下 Golang 的环境变量,把 GOROOT 指向 Golang 的安装目录,把 GOPATH 指向非 Golang 的安装目录,一般是放在你的Workspace下,例如~/Workspace/Go,例如我的环境变量:

export GOROOT=~/Development/Go
export GOPATH=~/Workspace/Go
export PATH=$PATH:$GOROOT/bin

此时,你就可以查看 Golang 的版本了:

go version

使用 Git 下载 Jiri 源代码

我们按照官方指导,把 Jiri 下载到$GOPATH/src/fuchsia.googlesource.com/jiri下:

git clone https://fuchsia.googlesource.com/jiri $GOPATH/src/fuchsia.googlesource.com/jiri

如果我们的设备不能越过 GFW,那么应该会超时,如果有代理服务器,那么指定即可。

第一种是直接在git命令中指定代理服务器:

git clone -c schme://ip:port giturl

例如指定 socks5:

git clone -c sockss://127.0.0.1:1080 https://fuchsia.googlesource.com/jiri ...

指定为 HTTP:

git clone -c sockss://127.0.0.1:1081 https://fuchsia.googlesource.com/jiri ...

上述命令中我省去了了目标目录路径,读者记得加上。因为这个仓库不大,在 1 分钟内就可以下载完,如果时间太久,那么我们就检查下网络吧。

编译 Jiri

编译 Jiri 需要先下载两个依赖库:

go get golang.org/x/net/publicsuffix golang.org/x/sync/semaphore

不过因为访问golang.org也需要越过 GFW,因此还是使用代理:

https_proxy=scheme://ip:port go get ...

例如使用 socks5:

https_proxy=socks5://127.0.0.1:1080 go get ...

这两个库下载完成后,就可以编译 Jiri 了:

go install fuchsia.googlesource.com/jiri/cmd/jiri

Golang 会自动到$GOPATH/src/下寻找fuchsia.googlesource.com/jiri/cmd/jiri然后进行编译,编译完成后会在$GOPATH/bin下生成 Jiri 的二进制文件jiri

此时相当于 Jiri 也安装好了,只需要把 Jiri 添加到PATH中即可通过命令行访问了:

export PATH=$PATH:$GOPATH/bin

此时,我们就可以在命令行里使用jiri了。

方式二,通过 Bootstrapping 脚本安装 Jiri

我们在我们的Workspace目录中新建一个Fuchsia的目录,我们把 Jiri 安装的该目录内。

现在我们通过命令行进入~/Workspace/Fuchsia,然后运行:

curl https://fuchsia.googlesource.com/jiri/+/master/scripts/bootstrap_jiri?format=TEXT | base64 --decode | bash

没错,还是需要越过 GFW,使用以下命令:

curl -x ip:port ...

例如:

curl -x 127.0.0.1:1081 https://fuchsia.googlesource.com/...

等引导安装脚本执行完后,Jiri 也就安装好了,应该在~/Workspace/Fuchsia/.jiri_root/目录下,此时我们只需要把~/Workspace/Fuchsia/.jiri_root/bin添加到 PATH 就可以了:

export PATH=$PATH:~/Workspace/Fuchsia/.jiri_root/bin:

本文结束,后面可能写一下 Fuchsia 的编译过程和体验,告辞!


版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com

展开阅读全文

没有更多推荐了,返回首页