由於公司開發機我只有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/