2010-05-14 12 views
5

Erlang wurde bereits installiert ist:Wie installiere ich LFE auf Ubuntu Karmic?

$ 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> 

I lfe von Github und ausgecheckt 0.5.2 heruntergeladen:

etwas Dummes Ich muss sein
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/ 

$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 scheint zu funktionieren verpasst: 0

$ 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() 

Gibt es ein Beispiel, wie ich eine Hallo Welt Quelldatei erstellen und kompilieren und ausführen würde?

Antwort

7

Nein, es gibt nichts, was Sie verpasst haben. Das Makefile in LFE ist "weniger als perfekt" und sollte ignoriert werden, es wird in der nächsten Version verbessert werden. Zur Kompensation sind alle benötigten Dateien bereits kompiliert und die .beam-Dateien befinden sich im Verzeichnis ebin. Da es nicht Teil von OTP ist, denke ich nicht, dass es jemals dort installiert werden sollte.

Der einfachste Weg, dies zu handhaben, um ein privates Erlang-Bibliotheksverzeichnis zu erstellen und darauf die Umgebungsvariable ERL_LIBS zu richten. Dann lassen Sie einfach das gesamte LFE-Verzeichnis dort fallen. Wenn erlang startet, fügt der Code-Server automatisch die lfe/ebin Verzeichnisse in den Pfad ein und die .beam-Dateien werden dort automatisch gefunden und geladen. Dies funktioniert mit jedem Paket, das ein ebin-Verzeichnis enthält. Dies funktioniert auch unter Windows. Also:

  1. abgeben Libs Verzeichnis, sagen ~/erlang/lib
  2. Stellen Sie die Umgebungsvariable ERL_LIBS, export ERL_LIBS=~/erlang/lib
  3. Das Ganze wird LFE-Verzeichnis gibt

Wenn Sie anfangen zu Erlang Sie werden dann /Users/rv/erlang/lib/lfe/ebin sehen (oder wo immer Sie es haben) im Code-Pfad (code:get_path()). Sie werden dann in der Lage, auch mit

erl -noshell -noinput -s lfe_boot start 

Es wird eine lfe sein und eine lfe.bat direkt den LFE-Shell zu starten, die dies in Zukunft auch tut enthalten.

Wie mit erlang funktioniert jeder Texteditor, um LFE zu bearbeiten. Für Emacs gibt es einen LFE-Modus, der immer noch ziemlich einfach ist, aber funktioniert. Sie können LFE noch nicht in einem Fenster ausführen. Bald. Der beste Weg, dies zu schließen ist die folgende in Ihrer .emacs-Datei zu setzen:

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

Es gibt einige Beispieldateien in lfe/examples, alle funktionieren sollte. In lfe/test/visual gibt es eine Menge meiner Testdateien, die als Beispieldateien enthalten sind. Zum Kompilieren einer LFE-Datei aus dem normal erlang-Shell

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

während des LFE-Shell:

(c '"foo")    ;This will autoload 

Es gibt eine Reihe von Unterlagen in lfe/docs, die ziemlich genau ist, aber die user_guide.txt Bedürfnisse zu sein verlängert.Es gibt auch eine Google-Gruppe für LFE bei

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

, die einige interessante Gespräche enthält und die Menschen viel im Github LFE Wiki ganz geschrieben haben.

Das ist es denke ich. Kontaktieren Sie mich, wenn Sie weitere Fragen haben.

+0

Vielen Dank für die Führung. - karlthorwald - aka – user89021

Verwandte Themen