今天用rebar编译出目标文件准备直接部署到目标服务器上,结果报告

1
2
3
4
5
6
[evoup@host63i386 erlang]>sudo rel/madmonitor2/bin/madmonitor2 start
current node: madmonitor2@192.168.216.165
release vm.args file empty,recopy
escript: Failed to open file: /usr/home/evoup/project/madmonitor2/erlang/rel/madmonitor2/erts-

5.9.3.1/bin/nodetool

原来是少一个nodetool文件,进到目录一看发现有2个erts 一个是5.9.1,一个是5.9.3.1,分别代表R15B01和R15B03,想起之前系统装过2个版本的erlang,R15B03的没有删除干净就装了R15B01,看来是rebar自作主张读取了2个erlang运行时库。 删除之前的剩余文件

1
2
sudo rm -rf /usr/local/lib/erlang/erts-5.9.3.1/
sudo rm -rf /usr/local/lib/erlang/lib/erts-5.9.3.1/

仔细一看还有其他版本的erlang,rebar还没有这么傻:) 都给删除了

1
2
sudo rm -rf /usr/local/lib/erlang/erts-5.5.1/
sudo rm -rf /usr/local/lib/erlang/erts-5.6.5/

再次编译,问题解决。

发表评论