一、rebar是什麼
rebar是一個erlang程序的構建工具,它使用erlang的make系統對erlang的應用程序進行編譯和管理。與makefile相比,rebar使用簡單且易於理解。在全世界的erlang社區中,rebar已經成為了標準的通用構建工具。
rebar可以自動生成應用程序的目錄結構,自動檢查和下載依賴項,支持測試、文檔生成、發布以及其他命令。rebar的目標是為erlang應用程序的構建和管理提供完整和一致的解決方案,使得開發人員可以更專註於代碼的編寫。
二、如何安裝rebar
要安裝rebar,需要首先安裝erlang。在MacOS或者Linux上安裝erlang的命令是:
sudo apt-get install erlang
在Windows上,可以從erlang官方網站(http://www.erlang.org/download.html)下載安裝程序。
安裝完成erlang之後,可以從rebar GitHub頁面(https://github.com/rebar/rebar)下載rebar,解壓縮後進入rebar目錄,使用下面的命令編譯rebar:
./bootstrap
執行完成之後,rebar二進位文件將會生成在當前目錄下。你可以將其拷貝到系統PATH所在的目錄中,這樣就可以通過命令行全局調用rebar命令了。
三、如何使用rebar
1、新建一個應用程序
執行下面的命令可以在當前目錄下創建一個新的應用程序:
rebar create-app appid=myapp
這條命令將會生成下面的文件結構:
myapp |--- ebin |--- src |--- test |--- rebar.config
其中,src目錄用於存放應用程序的源文件,test目錄用於存放測試文件,rebar.config文件用於存放rebar的配置信息。
2、編譯應用程序
在應用程序的根目錄下執行下面的命令可以編譯應用程序:
rebar compile
執行完成之後,應用程序的二進位文件將會存放在ebin目錄下。
3、添加依賴項
rebar允許在應用程序中添加其他的依賴項,這樣可以更方便地管理應用程序的依賴關係。
在rebar.config文件中,添加下面的代碼即可添加依賴項(例如添加一個名為mylib的依賴項):
{deps, [ {mylib, ".*",{git, "https://github.com/mylib.git", {branch, "master"}}} ]}.
添加依賴項後,執行下面的命令即可自動下載並編譯依賴項:
rebar get-deps compile
4、運行應用程序
在應用程序的根目錄下執行下面的命令可以運行應用程序:
erl -pa ebin/
執行完成之後,即可進入到erlang的shell環境,可以通過下面的命令啟動應用程序:
application:start(myapp).
5、查看幫助信息
在使用rebar過程中,可以通過下面的命令查看rebar的幫助信息:
rebar -h
通過查看幫助信息,可以了解rebar支持的所有命令和選項。
四、rebar常用技巧和注意事項
1、自定義erlang版本
在某些情況下,我們需要使用指定版本的erlang。在rebar.config文件中,可以指定erlang的版本信息,例如:
{erl_opts, [ {platform_define, "R14B04"}, debug_info ]}.
在這裡,我們指定了erlang版本為R14B04。
2、生成文檔
在編寫完代碼之後,我們通常需要生成應用程序的文檔。rebar提供了一個命令用於生成erlang文檔:
rebar doc
執行完成之後,文檔將會生成在doc目錄下。
3、使用外部插件
rebar還支持使用外部插件,通過在rebar.config文件中添加配置信息即可。例如,我們可以添加一個針對erlang項目的coverage工具——retest:
{retest, ".*", {git, "https://github.com/metajungle/retest.git", {branch, "master"}}}.
添加之後,執行下面的命令即可使用retest進行測試覆蓋率的計算:
rebar compile eunit rebar retest
4、使用較老的erlang版本
在使用較老的erlang版本時,rebar可能會出現一些問題。例如,rebar1.x並不支持erlang 17.0以上的版本。
在這種情況下,我們可以使用舊版本的rebar。在rebar GitHub頁面中,可以找到舊版本的構建文件。下載舊版本的rebar之後,可以使用下面的命令進行編譯和安裝:
./bootstrap && cp rebar ../bin/
5、注意事項
在使用rebar的過程中,需要注意以下幾點:
- 每個應用程序都應該有一個唯一的名字
- 應用程序的所有依賴項都應該在rebar.config中註冊
- 確保依賴項的git信息是正確的
- 盡量將依賴項指定為精確版本號,而不是指定為.*
- 盡量避免在應用程序代碼中使用rebar.config文件中定義的變數
結語
通過本文的介紹,相信大家對於rebar有了更深入的了解,並且知道如何使用rebar搭建erlang應用程序。rebar的完整代碼示例請參見本文,希望對大家有所幫助。
原創文章,作者:PVKWD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/333829.html