Skip to content

Supported SDKs

As of early 2021 Hermit has support for the following language SDKs.

SDK Status
Crystal Crystal is a general-purpose, object-oriented programming language with a Ruby-inspired syntax.
Elm Elm is distributed as a single binary, so everything works as you would expect!
Flutter (Dart) Flutter is available, though not well tested.
GraalVM GraalVM is supported and reasonably well tested.
Go Hermitised Go is isolated, though uses the global Go cache (~/go) for performance/utilisation considerations. ${GOBIN} is set to ${HERMIT_ENV}/.hermit/go/bin and is included in the ${PATH}.
Haskell (GHC) GHC and Cabal are both available though not well tested.
Java Java (OpenJDK) is supported and well tested, including Zulu builds.
Kotlin Kotlin is supported and well tested.
Node Packages are completely isolated within the Hermit environment. Global packages (npm install -g) are installed into ${HERMIT_ENV}/.hermit/node while local packages are installed in ${HERMIT_ENV}/node_modules. bin directories for both global and local packages are added to the ${PATH}.
Python Python is fully supported and isolated. Python packages installed within an active Hermit environment will be located in ${HERMIT_ENV}/.hermit/python and ${HERMIT_ENV}/.hermit/python/bin is added to the ${PATH}.
Rust Rust stable and nightly are both supported along with all standard tooling. Nightly will be updated daily.
TinyGo A Go Compiler For Small Places.
Zig Zig is supported and works as expected, though not well tested.