| name | setup-env |
| description | Set up development environment by loading direnv. Must be run before any make targets (tests, builds, linting). |
Instructions
Before running any make target (make test, make bins, make lint-go, etc.), the direnv environment must be loaded.
Without it, make will fail with errors about AKASH_DIRENV_SET or AKASH_ROOT not being set.
Steps
-
Allow and load direnv for the project root. This sets all required variables (AKASH_ROOT, AKASH_DIRENV_SET, GOTOOLCHAIN, GOPATH, GOWORK, cache paths) adds tool directories to PATH, and runs make cache to download build tools and wasmvm libraries:
direnv allow
-
Load environment into current shell:
eval "$(direnv export bash 2>&1 | grep -v '^direnv:')"
-
Validate:
[[ "$AKASH_DIRENV_SET" == "1" ]] && echo "direnv loaded" || echo "ERROR: direnv not loaded"
Notes
- If direnv fails, check that required system tools are installed:
make, unzip, wget, curl, npm, jq, readlink, pv, lz4.
- On macOS, Homebrew
make (v4+) must be on PATH: export PATH="$(brew --prefix)/opt/make/libexec/gnubin:$PATH".