標籤:erlang erlang打包部署 erlang啟動指令碼
在linux環境下,erlang通過systools:make_script("",[])和systools:make_tar()命令產生鏡像包,先安裝鏡像包,安裝鏡像包的過程,即通過替換erl.src中的路徑,然後重新輸出到erl完成,繼而通過erl -sname cache -boot ../releases/0.1.0/start完成相關應用的啟動。而在windows下,打包後要想移植到其他電腦上能夠運行,需要經過以下兩步:
第一、修改erts-5.9.1/bin/erl.ini中的Bindir和Rootdir,Rootdir對應了應用程式名稱.script中的$ROOT,從而能夠找到相關的lib下的包;
第二、通過erl -boot ..進行載入啟動。
為了能夠更方便地啟動,現將第一和第二步進行合并,通過bat指令碼,雙擊後直接完成,指令碼如下:
@echo off
color 0a
::修改erts/bin/erl.ini中的路徑,安裝erts
setlocal enbledelayedexpansion
::擷取當前路徑
set rootdir=%~dp0
::擷取erts的檔案名稱
dir e* /b > temp.txt
set /p erts =<temp.txt&del temp.txt
::拼出erts的bin所在的路徑
set bindir=%rootdir%%erts%\bin
::將路徑中的\改為\\
set rootdir=!rootdir:\=\\!
set bindir=!bindir:\=\\!
::刪除bin路徑下的erl.ini,用替換後的新路徑重建新的erl.ini
cd %bindir%
del erl.ini
echo [erlang] >>%bindir%\\erl.ini
echo Bindir=%bindir% >>%bindir%\\erl.ini
echo Progname=erl >>%bindir%\\erl.ini
echo Rootdir=%rootdir% >>%bindir%\\erl.ini
::啟動應用
erl -boot ..\..\releases\0.1.0\start
windows下erlang打包鏡像啟動