由于公司开发机我只有rd权限,许多软件只能通过源码来安装,今天就和大家分享一下代码review工具arcanist的源码安装过程。
源码安装curl
curl的源码下载地址为:https://curl.haxx.se/download.html,下载最新的源码即可,这里我们下载curl-7.65.3 这个版本
下载curl源码:
$ wget --no-check-certificate https://curl.haxx.se/download/curl-7.65.3.tar.xz
解压源码压缩文件,并进入源码目录中:
$ tar -Jvxf curl-7.65.3.tar.xz
$ cd curl-7.65.3
编译 & 安装,这里我指定的安装目录为:/home/work/app/arc/curl-7.65.3-bin
$ mkdir /home/work/app/arc/curl-7.65.3-bin
$ ./configure --prefix=/home/work/app/arc/curl-7.65.3-bin
$ make && make install
源码安装php
php源码下载地址为:https://www.php.net/downloads.php,这里我们下载最新的stable版本:php-7.3.8,
下载php源码:
$ wget --no-check-certificate https://www.php.net/distributions/php-7.3.8.tar.xz
解压源码压缩文件,进入源码目录:
$ tar -Jvxf php-7.3.8.tar.xz
$ cd php-7.3.8
编译 & 安装,这里我指定的安装目录为:/home/work/app/arc/php-7.3.8-bin
$ mkdir /home/work/app/arc/php-7.3.8-bin
$ ./configure --prefix=/home/work/app/arc/php-7.3.8-bin --with-curl=/home/work/app/arc/curl-7.65.3-bin
$ make && make install
克隆arc源码
我克隆的目录是: /home/work/app/arc/
$ git clone https://github.com/phacility/libphutil.git
$ git clone https://github.com/phacility/arcanist.git
设置环境变量
如果是bash,打开 ~/.bashrc 文件,如果是其他的,打开对应的配置文件即可(如zsh为 .zshrc)
$ vim ~/.bashrc
加入以下内容:
export PATH=/home/work/app/arc/php-7.3.8-bin/bin:$PATH # 加入php环境变量
export PATH=/home/work/app/arc/arcanist/bin:$PATH # 加入arc命令环境变量
添加完成以后,执行source,使环境变量生效:
$ source ~/.bashrc
环境变量添加完成之后,执行arc命令,出现以下信息,表名arc命令已经安装成功了
$ arc
Usage Exception: No command provided. Try `arc help`.
arc配置
配置arc使用的编辑器,默认是nano
,习惯使用vim
的,可以通过以下方式设置
$ arc set-config editor "vim"
Set key "editor" = "vim" in user config (was null).
设置 phabricator的url:
$ arc set-config default http://phabricator.example.com
Set key "default" = "http://phabricator.example.com" in user config (was null).
以上设置完成之后,安装认证信息:
$ arc install-certificate
根据输出信息,访问对应的url,一般为:https://phabricator.example.com/conduit/login/
,访问URL,将token粘贴后回车后就OK
至此,arc通过源码安装成功
总结
arc 安装过程主要分为四步:
- 安装curl
- 安装php
- 克隆arc源码
- 相关配置
其中,1、2 步在windows上面是不必要的,直接开始第3步即可,在 linux 如果拥有root或者sudo权限,可直接使用yum/apt-get 安装php,然后直接从第3步开始,往后配置即可。
更详细的arc使用方法,参见https://phabricator.webfuns.net/book/phabricator/article/arcanist/