Simply building Cayley
mkdir -p ~/cayley && cd ~/cayley export GOPATH=`pwd` export PATH=$PATH:~/cayley/bin mkdir -p bin pkg src/github.com/cayleygraph cd src/github.com/cayleygraph git clone https://github.com/cayleygraph/cayley cd cayley curl https://glide.sh/get | sh glide install go build ./cmd/cayley
cd to the directory and give it a quick test with:
./cayley repl --dbpath=data/testdata.nq
To run the web frontend, replace the “repl” command with “http”
./cayley http --dbpath=data/testdata.nq
Hacking on Cayley
Cayley should compile on Go 1.4-1.5, but it’s not officially supported.
If you just want to build Cayley and check out the source, or use it as a library, a simple
go get github.com/cayleygraph/cayley will work!
But suppose you want to contribute back on your own fork (and pull requests are welcome!). A good way to do this is to set up your $GOPATH and then…
mkdir -p $GOPATH/src/github.com/cayleygraph cd $GOPATH/src/github.com/cayleygraph git clone https://github.com/$GITHUBUSERNAME/cayley
…where $GITHUBUSERNAME is, well, your GitHub username You’ll probably want to add
cd cayley git remote add upstream http://github.com/cayleygraph/cayley
So that you can keep up with the latest changes by periodically running
git pull --rebase upstream
With that in place, that folder will reflect your local fork, be able to take changes from the official fork, and build in the Go style.
For iterating, it can be helpful to, from the directory, run
curl https://glide.sh/get | sh glide install go build ./cmd/cayley && ./cayley <subcommand> <your options>
Which will also resolve the relevant static content paths for serving HTTP.
Reminder: add yourself to CONTRIBUTORS and AUTHORS.