# Install janet with Homebrew, apk, dnf, MacPorts, Nix, pacman, zypper, scoop, winget

Dynamic language and bytecode vm. Version 1.41.2 via Homebrew; verified 2026-07-29. Also installable with nix: nix profile install nixpkgs#janet.

## Install

```sh
sudo av install brew:janet
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install janet
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install janet
```

  Evidence: MacPorts ports tree: lang/janet/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add janet
```

  Evidence: Alpine Linux edge package indexes: janet from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install janet
```

  Evidence: Fedora Rawhide package metadata: janet from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#janet
```

  Evidence: nixpkgs package indexes: janet from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S janet
```

  Evidence: Arch Linux sync databases: janet from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install janet
```

  Evidence: openSUSE Tumbleweed package metadata: janet from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/janet
```

  Evidence: Scoop official bucket manifest trees: bucket/janet.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id JanetLang.Janet -e
```

  Evidence: Windows Package Manager source index: JanetLang.Janet from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:janet
- **Package manager:** Homebrew
- **Version:** 1.41.2
- **Source summary:** Dynamic language and bytecode vm
- **Homepage:** <https://janet-lang.org>
- **Repository:** <https://github.com/janet-lang/janet>
- **Last updated:** 2026-07-29T21:10:30Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- janet (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.41.2
## Project history and usage

Janet is a small dynamic programming language and bytecode virtual machine designed for system scripting, automation, and embedding in C or C++ programs. It is a Lisp-family runtime with a REPL, macros, green threads, C FFI, and a deliberately portable implementation.

### Project history

The GitHub repository was created in March 2017 and describes Janet as a dynamic language and bytecode VM. The README positions it between Lua and GNU Guile: easier to embed and port than Python or Guile, richer than Lua, and distributed in a form suitable for embedding into larger programs.

Janet's core grew around a compact but batteries-included runtime: more than 600 core functions and macros, socket networking, threading, subprocesses, filesystem operations, parsing expression grammars, continuations, an event loop, Erlang-style supervision trees, a C FFI, and documentation available inside the REPL.

### Adoption history

Janet adoption is package-manager friendly because the runtime is small, scriptable, and useful without a large ecosystem install. The input package metadata records packaging across Homebrew, Alpine, Fedora, MacPorts, Nix, Scoop, winget, and openSUSE-style zypper, while Homebrew API data available during this enrichment recorded 1,057 installs over 365 days.

The project also maintains two companion ecosystem tools, Spork and JPM. The README describes Spork as a collection of utility modules and packaged scripts, while JPM is the older project manager; that split reflects Janet's use both as an embeddable runtime and as a standalone scripting language.

### How it is used

Users run Janet scripts, explore with the REPL, embed the VM in C or C++ applications, or use its FFI and event-loop facilities for automation and systems tasks. The official documentation covers language syntax, special forms, data structures, fibers, modules, networking, process management, FFI, the C API, JPM, and Spork.

### Why package nerds care

Janet is package-nerd interesting because it packs a Lisp-like language, VM, C API, REPL, FFI, PEG engine, and async/event primitives into a small runtime package. It appeals to users who like Lua's embedding story but want macros, richer core facilities, and a Unix-scripting feel.

### Timeline

- 2017: GitHub repository created for the Janet language and VM.
- 2024: v1.36.0 release notes recorded AAPCS64 calling-convention support and REPL improvements.
- 2025: v1.40.0 release notes recorded Windows-related runtime and documentation work among many community changes.
- 2026: v1.41.2 release notes fixed a regression in out-of-bounds buffer and array indexing.

### Related projects

- Janet is related to Lua, GNU Guile, Python embedding use cases, and Lisp-family scripting languages. Inside its own ecosystem, Spork and JPM are the important companion projects, and the README notes an official GitHub repository plus an actively maintained SourceHut mirror.

### Sources

- <https://api.github.com/repos/janet-lang/janet>
- <https://api.github.com/repos/janet-lang/janet/releases?per_page=10>
- <https://formulae.brew.sh/api/formula/janet.json>
- <https://github.com/janet-lang/janet>
- <https://janet-lang.org/docs/index.html>
- <https://raw.githubusercontent.com/janet-lang/janet/master/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - janet: normalized package name match | nixpkgs package indexes: janet from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- apk - janet - 1.41.2-r0: normalized package name match | Alpine Linux edge package indexes: janet from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Dynamic Lisp dialect and bytecode VM | https://janet-lang.org/
- apk - janet-dev - 1.41.2-r0: normalized package name match | Alpine Linux edge package indexes: janet-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Dynamic Lisp dialect and bytecode VM (development files) | https://janet-lang.org/
- apk - janet-doc - 1.41.2-r0: normalized package name match | Alpine Linux edge package indexes: janet-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Dynamic Lisp dialect and bytecode VM (documentation) | https://janet-lang.org/
- apk - janet-static - 1.41.2-r0: normalized package name match | Alpine Linux edge package indexes: janet-static from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Dynamic Lisp dialect and bytecode VM (static library) | https://janet-lang.org/
- dnf - janet - 1.41.1-2.fc45: normalized package name match | Fedora Rawhide package metadata: janet from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | A dynamic language and bytecode vm | https://janet-lang.org
- dnf - janet-devel - 1.41.1-2.fc45: normalized package name match | Fedora Rawhide package metadata: janet-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | A dynamic language and bytecode vm | https://janet-lang.org
- pacman - janet - 1.41.2-4: normalized package name match | Arch Linux sync databases: janet from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A dynamic language and bytecode vm | https://janet-lang.org
- zypper - janet - 1.39.0-1.5: normalized package name match | openSUSE Tumbleweed package metadata: janet from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Lisp-like functional and imperative programming language | https://janet-lang.org
- zypper - janet-devel - 1.39.0-1.5: normalized package name match | openSUSE Tumbleweed package metadata: janet-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Headers for embedding Janet scripting | https://janet-lang.org
- zypper - janet-devel-static - 1.39.0-1.5: normalized package name match | openSUSE Tumbleweed package metadata: janet-devel-static from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Headers for embedding Janet scripting | https://janet-lang.org
- zypper - libjanet1_39 - 1.39.0-1.5: normalized package name match | openSUSE Tumbleweed package metadata: libjanet1_39 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Library for the lisp-like functional and imperative programming language | https://janet-lang.org
- MacPorts - janet: normalized package name match | MacPorts ports tree: lang/janet/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/janet: normalized package name match | Scoop official bucket manifest trees: bucket/janet.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - JanetLang.Janet: normalized package name match | Windows Package Manager source index: JanetLang.Janet from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/janet.yml](https://github.com/mxcl/pkgdb/blob/main/combined/janet.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
