During the time of this writing naboris has not been tested on Windows.
Installation
How to install naboris.
# Requirements
- OCaml -
>= 4.07.1
- Lwt -
>= 5.1.1
Optional requirements
Naboris makes heavy use of Lwt
promises. For best performance
it is recommended (per the Lwt documentation)
to install libev
and use the conf-libev
opam package. Read more about it below.
# Scaffolding
For an easy way to get a server up and running there are scaffolding projects available on
GitHub. These projects use esy to sandbox opam and build. This means
node.js
is required to run these projects as is.
OCaml:
1$ git clone git@github.com:shawn-mcginty/naboris-ml-scaffold.git
2$ npm run install
3$ npm run build
4$ npm run start
ReasonML:
1$ git clone git@github.com:shawn-mcginty/naboris-re-scaffold.git
2$ npm run install
3$ npm run build
4$ npm run start
# Opam
naboris is available on opam
1$ opam install naboris
# Dune
1(libraries naboris)
# Esy
1 "dependencies": {
2 "@opam/naboris": "*",
3 }
If you're using esy please read the libev section.
# Libev
It is highly recommended to install libev
and use the conf-libev
opam package
which will configure lwt
to run using the libev
scheduler.
libev
can most likely be installed using your package manager.
e.g. homebrew
1$ brew install libev
e.g. apt
1$ sudo apt-get update
2$ sudo apt-get install libev-dev
Check out the libev homepage for more info.
conf-libev
can be installed via opam
Opam:
1$ opam install conf-libev
If you use esy for sandboxing you'll have to use a special resolution:
1 "resolutions": {
2 "@opam/conf-libev": "esy-packages/libev:package.json#0b5eb66"
3 }
Notes about esy custom resolution: This is pegged to a specific commit. At the time of this writing the commit listed above worked great. You may need to check the GitHub repo and switch to a fresher commit.