微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

erlang – 如何在Ubuntu Karmic上安装LFE?

Erlang已经安装:

$dpkg -l|grep erlang
ii  erlang                          1:13.b.3-dfsg-2ubuntu2            Concurrent,real-time,distributed function
ii  erlang-appmon                   1:13.b.3-dfsg-2ubuntu2            Erlang/OTP application monitor
ii  erlang-asn1                     1:13.b.3-dfsg-2ubuntu2            Erlang/OTP modules for ASN.1 support
ii  erlang-base                     1:13.b.3-dfsg-2ubuntu2            Erlang/OTP virtual machine and base applica
ii  erlang-common-test              1:13.b.3-dfsg-2ubuntu2            Erlang/OTP application for automated testin
ii  erlang-debugger                 1:13.b.3-dfsg-2ubuntu2            Erlang/OTP application for debugging and te
ii  erlang-dev                      1:13.b.3-dfsg-2ubuntu2            Erlang/OTP development libraries and header
[... many more]

Erlang似乎有效:

$erl
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell v5.7.4  (abort with ^G)
1>

我从github下载了lfe并检查了0.5.2:

git clone http://github.com/rvirding/lfe.git
cd lfe
git checkout -b local0.5.2 e207eb2cad

$configure
configure: command not found

$make
mkdir -p ebin
erlc -I include -o ebin -W0 -Ddebug +debug_info src/*.erl
#erl -I -pa ebin -noshell -eval -noshell -run edoc file src/leex.erl -run init stop
#erl -I -pa ebin -noshell -eval -noshell -run edoc_run application "'Leex'" '"."' '[no_packages]'
#mv src/*.html doc/

一定是我错过的蠢事:o

$sudo make install
make: *** No rule to make target `install'.  Stop.

$erl -noshell -noinput -s lfe_boot start
{"init terminating in do_boot",{undef,[{lfe_boot,start,[]},{init,start_it,1},start_em,1}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

一个例子我如何创建一个hello world源文件并编译并运行它?

解决方法

不,你没有错过. LFE中的Makefile“不完美”,应该被忽略,它将在下一个版本中得到改进.为了补偿已编译的所有必需文件,.beam文件位于ebin目录中.由于它不是OTP的一部分,我认为它不应该安装在那里.

处理此问题的最简单方法是创建私有erlang库目录并将环境变量ERL_LIBS指向它.然后将整个LFE目录放在那里.当erlang启动时,代码服务器会自动将lfe / ebin目录添加到路径中,然后会自动找到并加载.beam文件.这适用于包含ebin目录的任何包.这也适用于Windows.所以:

>创建一个libs目录,比如〜/ erlang / lib
>设置环境变量ERL_LIBS,导出ERL_LIBS =〜/ erlang / lib
>将整个LFE目录放在那里

当您启动erlang时,您将在代码路径中看到/ Users / rv / erlang / lib / lfe / ebin(或者您拥有它的任何地方)(代码:get_path()).然后,您还可以直接启动LFE shell

erl -noshell -noinput -s lfe_boot start

将来会有一个lfe和一个lfe.bat.

与erlang一样,任何文本编辑器都可以编辑LFE.对于emacs,有一种LFE模式,它仍然相当基本但有效.您还无法在窗口中运行LFE.不久.包含此内容的最佳方法是将以下内容放在.emacs文件中:

;; LFE mode.
(setq load-path (cons "/Users/rv/erlang/lib/lfe/emacs" load-path))
(require 'lfe-start)

lfe / examples中有一些示例文件,都应该有效.在lfe / test / visual中,有一堆我的测试文件已作为示例文件包含在内.从普通的erlang shell编译LFE文件

lfe_comp:file("foo").
l(foo).                 %No autloload here,do this to ensure loading

而从LFE shell做:

(c '"foo")              ;This will autoload

在lfe / docs中有很多文档非常准确但需要扩展user_guide.txt. LFE还有一个谷歌小组

http://groups.google.se/group/lisp-flavoured-erlang

其中包含一些有趣的讨论,人们在github LFE wiki中写了很多.

这就是我想的.如果您有更多问题,请与我联系.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐