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. |