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并 checkout 了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},{init,start_em,1}]}}

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

有没有一个示例,我将如何创建一个hello world源文件并编译并运行它?

最佳答案

不,您什么都不会错过。 LFE中的Makefile不够完美,应该忽略,它将在下一个发行版中得到改进。为了进行补偿,所有需要的文件都已编译,并且.beam文件位于ebin目录中。因为它不是OTP的一部分,所以我认为它永远都不应安装在其中。

创建私有(private)erlang库目录并将环境变量ERL_LIBS指向该目录的最简单方法。然后,将整个LFE目录放在那里。当erlang启动时,代码服务器将自动将lfe/ebin目录添加到路径中,并且将自动找到并加载其中的.beam文件。这将与包含ebin目录的任何软件包一起使用。这也适用于Windows。所以:

  • 制作一个libs目录,说~/erlang/lib
  • 设置环境变量ERL_LIBS,export ERL_LIBS=~/erlang/lib
  • 将整个LFE目录放在此处

  • 当您启动erlang时,您将在代码路径(/Users/rv/erlang/lib/lfe/ebin)中看到code:get_path()(或任何您拥有的地方)。然后,您还可以直接使用以下命令启动LFE Shell:
    erl -noshell -noinput -s lfe_boot start
    

    将来还会包括lfelfe.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的Google小组,网址为
    http://groups.google.se/group/lisp-flavoured-erlang
    

    其中包含一些有趣的讨论,并且人们在github LFE Wiki上写了很多东西。

    我想就是这样。如果您有其他问题,请与我联系。

    关于erlang - 如何在Ubuntu Karmic上安装LFE?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2835942/

    10-11 13:39