首页 > 代码库 > windows下erlang打包镜像启动

windows下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打包镜像启动