开发者

What do you use if you wish to install an Erlang library?

Do you use CEAN, copy the source and compile them, copy the BEAM files, or something else. I need to distri开发者_JAVA百科bute some Erlang code and I'm not sure which to choose.


I've been working on EPM, an Erlang package manager. It pulls from GitHub. It's non-invasive and doesn't require installing anything on your system other than downloading an escript. It works as follows:

jvorreuter$ ./epm install ibrowse mochiweb
epm v0.1.0, 2010

===============================
Install the following packages?
===============================
    + epm-mochiweb-master
    + cmullaparthi-ibrowse-master

([y]/n) y

+ downloading http://github.com/epm/mochiweb/tarball/master
+ running mochiweb build command
+ running mochiweb install command
+ downloading http://github.com/cmullaparthi/ibrowse/tarball/master
+ running ibrowse build command
+ running ibrowse install command

You can read more about it at http://www.jkvor.com/erlang-package-manager

The linked blog post is blank as of August 2013. The GitHub repository is at https://github.com/JacobVorreuter/epm


I clone the git repository, build it, and add the directory to my ERL_LIBS path. I hack the source for my private customizations. For those commits that are sensible, I publish.

I am a much happier developer after finding git and being able to manage my own changes and still be able to get upstream changes that I can rebase my stuff on.

I realize that this looks raw for end users, but I am my own end user.

If I would ship something to other end users I would look into using .ez zip archive files that the erlang code loader can use. See section "Loading of Code From Archive Files" on that page. Then provide a script that invokes erl with the correct arguments.

If the repository isn't available as a git, I git-svn clone it. If I can't do that, I tend to stay away from it.


I use faxien (a package manager for Erlang releases and applications) from the Erlware project: http://www.erlware.org. It and sinan are essential tools for Erlang development :).


I use Agner on Mac, Linux, and Unix; and CEAN on Windows. CEAN's the only Erlang package manager with Windows support.


I package them on a Debian repository on Launchpad.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜