5

I used rebar to create a release for my Erlang application. My application need to read data from a file. Normally, it is located in the directory where I start erl. But when it comes to release, I don't know where can I put the data so as the application can access it. I tried to put the file in both rel/myrelease/bin and rel/myrelease/release/myverison but the log always show:

{{badmatch,{error,enoent}},

Erba Aitbayev
  • 4,167
  • 12
  • 46
  • 81

1 Answers1

4

As explained in the application design principles documentation, normally you put application data into the application's priv directory, and your application code uses the code:priv_dir/1 function to locate its priv directory at runtime in order to find its data files.

Steve Vinoski
  • 19,847
  • 3
  • 31
  • 46