erlang打包独立环境
最近公司代码需要在非erlang的系统上执行,需要能在独立的环境里运行erlang。研究甚久,于是写下这篇博文。国内用erlang的朋友不多,希望这篇blog能对有需要的朋友起到参考作用。
Application-Vsn/ebin
/include
/priv
/src
/Application-Vsn.rel
以上是代码的目录表.
{release, {“nextim”, “2.0”},
{erts, “5.7.5”},
[{kernel, “2.12.3”},
{stdlib, “1.15.3”},
{sasl, “2.1.5.3”}]
}.
以上是Application-Vsn.rel的内容,[]中是代码本身需要的lib。
1.执行erl -pa ./ebin . 这一步会生成nextim-2.boot文件
1> systools:make_script(nextim-2″, [local]).
ok
2.erl -boot nextim-2 . 这一步会生成nextim-2.tar.gz
systools:make_tar(“nextim-2”).
3.现在建议把tar.gz文件放到独立的路径里 这样不会影响Application-Vsn文件夹 ,然后解压 并进入目录, 复制erlang系统目录里的 erts-5.7.5 到当前目录
4.建立bin文件夹 复制 erts-5.7.5/bin/start 到 bin/ 编辑 bin/start 改 ROOTDIR为当前目录的路径
5.复制erts-5.7.5/bin/run_erl 和 erts-5.7.2/bin/erl 到 bin 并且如同上一步一样修改ROOTDIR.
6.复制 $ERLDIR/bin/start_sasl.boot 到 bin/start.boot.
7. echo "5.7.5 2.0" > releases/start_erl.data.
6.执行bin文件里的erl
release_handler:create_RELEASES(“$ROOTDIR”, “$ROOTDIR/releases/”, “$ROOTDIR/releases/nextim-2.rel”, []).
7.再把自己的项目文件复制到lib中 然后启动时 -pa参数是 lib文件夹. 完成这一步,就能独立出erlang环境了。
以上内容 参考自
http://spawnlink.com/articles/an-introduction-to-releases-with-erlybank/
http://streamhacker.com/2009/07/02/how-to-create-an-erlang-first-target-system/
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
A.Java 方向还没摸熟,又去搞 go ,风险太大; B.Go 是大势所趋,学习又很好的前景; C.先把 JAVA 方向整明白,机会合适再看 GO 上面是我提出的几种想法,大…
我想,大家在上网的时候一定见过很多很多种各式各样的网站导航条的设计。这些导航条基本上来说都是用CSS来做的。这里,我们将向你介绍几种最不错的用CSS设计的网站导航条。希望你会喜…
总结:西部数码是事逼 域名北岸也是一大堆繁琐的流程,详见:图一图二 看了坛友发出的这个备案规则,有感而言 西部数码存在许多隐性消费,未在事前进行充分说明 我是第一次接触西数这个…