rebar3 簡單使用

最近想嘗試用下rebar,在rebar的github主頁發現 rebar已經被拋棄了,那麼就按建議說的使用rebar3 吧

Deprecated Erlang build tool that makes it easy to compile and test
Erlang applications, port drivers and releases. We encourage you to
move to https://github.com/erlang/rebar3.

本文使用的rebar3工具來源:https://github.com/erlang/rebar3

下載與安裝

下載編譯好的版本

$ wget https://s3.amazonaws.com/rebar3/rebar3 
$ chmod +x rebar3

設置path,方便使用

$ pwd
$ /data/bin/rebar3
$ export PATH=$PATH:/data/bin/rebar3

使用export設置的PATH只對當前的shell生效,重啓後發現rebar3命令又是command not found
如果要設置path使每次登陸都生效,需要修改profile文件或.bashrc文件
/etc/profile 對所有用戶生效
~/.bashrc 對當前用戶生效
$ export PATH=$PATH:/data/bin/rebar3
加到profile文件 export PATH 的下一行即可(或.bashrc的末尾),然後重啓就可以了。
當然我們肯定不需要去重啓,source下剛纔修改過的文件就能生效了。

$ source /etc/profile

source命令通常用於重新執行剛修改的初始化文件,使之立即生效,而不必註銷並重新登錄。


rebar3 new Template ProjectName

rebar3 提供了一些項目模板,使用new可以通過模板來創建項目
rebar3 new help 可以查看rebar3支持的模板,目前有 app、cmake、escript、lib、plugin和release這幾種內置模板
rebar3 new help <template> 可以查看具體模板的詳細信息,如:rebar3 new help release

創建項目時的變量

這些變量並不是很重要,但也許你會覺得很刺眼。
我們在rebar3 new help release就發現了,variables都是些默認值,比如

name="myapp"
author_name="Anonymous"
author_email="[email protected]"

如何修改這些變量的值?

如果我們使用rebar3 new release pro1的方式創建項目pro1,那麼除了name,其他的值都是默認值。
不過rebar3 new 支持 rebar3 new release name="pro1" author_name="wei" var1="var1" ... 這種形式,在創建項目的時候給這些變量,或自定義變量賦值。


如何一勞永逸地修改這些變量的值?
官方文檔是這麼說的:

Global variables can be set by editing the file at
$HOME/.config/rebar3/templates/globals:

那麼這個globals文件應該是怎麼樣的呢:

{variables, [
    {author_name, "My Name Is A String"},
    {copyright_year, "2014-2022", "The year or range of years for copyright"},
    {my_custom_var, "hello there"}    ]}.

顯然文件globals就是erlang的數據結構定義的key-value格式 。
由於一開始是直接下載編譯好的rebar3來用的,在我們的系統中並沒有這些目錄與文件,所以要自己新建globals文件。

mkdir -p ~/.config/rebar3/templates
touch ~/.config/rebar3/teamplates/globals

我們先創建文件,再按上面的格式去編輯自己的globals文件,最後再使用rebar3 new release test2 這樣形式來創建項目,查看test2項目的LICENSE文件的第一行會發現該配置已經生效了。
如果沒有生效則很有可能是globals文件的格式或拼寫出現了問題,記住,是erlang的tuple結構構成的key-value。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章