Directory structure for non-OTP projects
Sat Jul 30 11:51:33 CEST 2005
From one newbie to another, here is what I do and I'm guessing its in
line with how the erlang REPOS and erlmerge see people using their dev
and deploy environment.
I just install erlang as normal (either root or under a less privileged
id) as normal. If you can use an older version of OTP, then starting
with REPOS may be even cleaner.
From there, I add my dev projects under the $ERL_HOME/lib directory.
I also have this directory as the root to a subversion store so I can
easily save and rollback my files.
> Do people really go through the whole
> `make install` process or build a target system or something every time
> they change even one line of code during development? It just seems very
> heavy. There must be a better way but I don't see it.
No, I don't need to do any such thing. During development, I just use
the full installed directory structure as is.
For deployment, you just want to trim down the /lib tree and perhaps
recompile the erlang install to only use those features you need. As
erlmerge gets more used, you should be able to start with a smaller
erlang install and use erlmerge to add in just the projects you
require. Then, in the spirit of REPOS, you just run the entire system
under one directory hierarchy. If you need another node, you can either
copy the entire hierarchy (if node on a different machine) or reuse it
with different script startup files to start the second node (on the
> Can someone who uses the test_server please describe how they have their
> development environment set up on their workstation?
I use Win XP as my dev desktop. I find that using TurtoiseSVN embedded
in Windows Explorer along with a erlang syntax sensitive text editor
(erlide, UltraEdit, emacs) gives me all I need to edit, test, and store
One thing nice about viewing your code under one tree structure with the
rest of OTP, is its easy to access the OTP source files to read and
understand the library better. Erlide is nice for this.
> Where have you
> installed erlang? Where do you put your own code in relation to that?
> What do you do each time you change your code during development? This
> seems like it ought to be a simple problem but I don't get it and it's
> frustrating that I haven't written a single line of Erlang yet.
I put my own code under the main erlang tree. Sure you can use a
separate /lib tree from OTP and then have a script startup file to
append the new path to the erlang vm.. But you don't have to.
Anyway, that's the very simply way I see the world and its working so far.
regards, ke han
More information about the erlang-questions