开发者

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

开发者 https://www.devze.com 2022-12-21 03:50 出处:网络
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

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

精彩评论

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