- Install Golang 1.24.x from here or using preferred package manager
- For JS(desktop client) bindings generation, install Node.js, protobuf plugins will be installed automatically
- Follow instructions below for the target systems
Update the tantivy version in go.mod and run:
make download-tantivy-all-force
Install protobuf compiler:
brew install protobuf
Once installed, verify you have protoc:
which protoc
The expected version is protoc >= 33.0.0.
To generate Swift(iOS) protobuf bindings:
brew install swift-protobuf
Install protobuf compiler and headers:
apt install protobuf-compiler libprotoc-dev
Repository provides flake.nix with devShell which has all the build dependencies (excluding tentivy-go pre-compiled libraries yet).
nix develop .Tip
It is also convenient to use nix shell with direnv with nix-direnv,
which enables devShell when you cd into directory.
With direnv, you can also switch environments per project in your code editor: emacs-direnv
make setup-protoc to install custom Go protobuf generators (see Protogen for additional information)
Build and install for the desktop client
make install-dev-js to install js protobuf plugins and then build the local server and copy it and protobuf binding into ../anytype-ts
Parameters:
ANY_SYNC_NETWORK=/path/to/network.yml— build using self-hosted network configuration
Instructions to set up environment for iOS: here
-
make build-iosto build the framework intodist/iosfolderParameters:
ANY_SYNC_NETWORK=/path/to/network.yml— build using self-hosted network configuration
-
make protos-swiftto generate swift protobuf bindings intodist/ios/pb
Instructions to setup environment for Android: here
-
make build-androidto build the library intodist/androidfolderParameters:
ANY_SYNC_NETWORK=/path/to/network.yml— build using self-hosted network configuration
-
make protos-javato generate java protobuf bindings intodist/android/pb