# Install duktape with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Embeddable Javascript engine with compact footprint. Version 2.7.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:duktape
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install duktape
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install duktape
```

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

### Linux

- apk (92%):

```sh
sudo apk add duktape
```

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

- Debian apt (92%):

```sh
sudo apt install duktape
```

  Evidence: Debian stable package indexes: duktape from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install duktape
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#duktape
```

  Evidence: nixpkgs package indexes: pkgs/by-name/du/duktape/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S duktape
```

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

- zypper (92%):

```sh
sudo zypper install duktape-devel
```

  Evidence: openSUSE Tumbleweed package metadata: duktape-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:duktape
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/duktape>
- **Version:** 2.7.0
- **Source summary:** Embeddable Javascript engine with compact footprint
- **Homepage:** <https://duktape.org>
- **Repository:** <https://github.com/svaarala/duktape>
- **Upstream docs:** <https://duktape.org/api.html>
- **License:** MIT
- **Source archive:** <https://github.com/svaarala/duktape/releases/download/v2.7.0/duktape-2.7.0.tar.xz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- duk (cli)
- duk (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.7.0
- Local data: ok
- Upstream repository: https://github.com/svaarala/duktape
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

Duktape is an embeddable ECMAScript engine for C and C++ programs, designed around portability, compact footprint, and simple integration by adding the distributable C and header files to an application build. It is one of the better-known small JavaScript engines used when V8 or SpiderMonkey are too large or too embedding-heavy.

### Project history

Duktape's public release archive starts in September 2013 with alpha releases focused on the public API, portability, and ES5.1 behavior. Version 1.0.0 arrived on October 26, 2014 as the stable baseline release.

The 1.x series added low-memory improvements, debugger support, typed arrays, duk_config.h, module.exports behavior, performance work, suspend/resume support, and continued maintenance. These releases established Duktape as a compact embeddable runtime rather than a browser engine.

Duktape 2.0.0 was released on January 2, 2017 with buffers, ES2015 improvements, performance work, and footprint changes. Later 2.x releases added API improvements, CBOR support, Unicode and portability updates, and maintenance fixes, with 2.7.0 released on February 19, 2022.

The upstream GitHub README notes that the master branch is undergoing incompatible changes for Duktape 3.x and that Duktape 2.x is tracked on the v2-maintenance branch. That split reflects a mature runtime balancing maintenance users with future internal changes.

### Adoption history

Duktape's own site points to projects using it and to Stack Overflow community support, while its package presence spans Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Alpine, Ubuntu, and openSUSE-family packaging. Its GitHub repository also shows thousands of stars and a long development history, which is notable for a small embeddable engine.

Adoption tends to come from applications needing scripting, configuration logic, plugins, tests, or embedded automation in a C or C++ host. The guide emphasizes that Duktape makes few platform assumptions and leaves native bindings under application control, which made it attractive for constrained or custom environments.

### How it is used

Embedding usually means adding duktape.c, duktape.h, and duk_config.h to the host build, creating a heap, and using the C API to call ECMAScript from C or expose C functions to script code. The command-line duk executable is useful for quick testing, but the package's main value is as a library.

Duktape implements ES5/E5.1 with selected later semantics and partial ES2015/ES2016 features. Its feature set includes typed arrays, Node.js Buffer bindings, WHATWG Encoding API bindings, CBOR bindings, a debugger, Unicode support, coroutines, bytecode dump/load, finalization, and low-memory configuration options.

### Why package nerds care

Duktape is significant because it occupies the small-engine end of the JavaScript runtime map. Package maintainers care about it as a portable C library with a permissive license, a stable release archive, and a footprint small enough for embedded systems.

It is also a useful point of comparison against QuickJS, MuJS, JerryScript, Espruino, and v7. Those engines all answer the same broad question - how small and embeddable can JavaScript be - with different tradeoffs around standards coverage, performance, licensing, and host integration.

### Timeline

- 2013: 0.6.0 alpha released with first public API work.
- 2014: 1.0.0 released as the stable baseline.
- 2015: 1.2.0 added debugger and script-timeout support; 1.3.0 added typed arrays and duk_config.h.
- 2016: 1.5.0 added low-memory and debugger improvements; 1.6.0 added suspend/resume.
- 2017: 2.0.0 released with buffers, ES2015 improvements, performance, and footprint work.
- 2018: 2.3.0 included ES2015 improvements.
- 2019: 2.5.0 added CBOR support and other improvements.
- 2022: 2.7.0 released as a maintenance-focused 2.x release.

### Related projects

- QuickJS, MuJS, JerryScript, Espruino, v7, tiny-js, and quad-wheel are listed by Duktape as similar engines for compact or embeddable JavaScript use cases.
- V8 and SpiderMonkey are larger JavaScript engines that are often unsuitable when Duktape's compact single-source embedding model is the requirement.
- Lua is a frequent embedded-scripting comparison point, and the Duktape guide explicitly includes a comparison-to-Lua section.

### Sources

- <https://duktape.org/>
- <https://duktape.org/download>
- <https://duktape.org/guide>
- <https://duktape.org/api>
- <https://wiki.duktape.org/projectsusingduktape>
- <https://github.com/svaarala/duktape>
- <https://formulae.brew.sh/formula/duktape>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** duktape
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - duktape - 2.7.0-2+b2: normalized package name match | Debian stable package indexes: duktape from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | embeddable Javascript engine | https://duktape.org
- Debian apt - duktape-dev - 2.7.0-2+b2: normalized package name match | Debian stable package indexes: duktape-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | embeddable Javascript engine, development files | https://duktape.org
- Debian apt - libduktape207 - 2.7.0-2+b2: normalized package name match | Debian stable package indexes: libduktape207 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | embeddable Javascript engine, library | https://duktape.org
- Nix - duktape: normalized package name match | nixpkgs package indexes: pkgs/by-name/du/duktape/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - duktape - 2.7.0+tests-0ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: duktape from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | embeddable Javascript engine | https://duktape.org
- Ubuntu apt - duktape-dev - 2.7.0+tests-0ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: duktape-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | embeddable Javascript engine, development files | https://duktape.org
- Ubuntu apt - libduktape207 - 2.7.0+tests-0ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: libduktape207 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | embeddable Javascript engine, library | https://duktape.org
- apk - duktape - 2.7.0-r3: normalized package name match | Alpine Linux edge package indexes: duktape from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Embeddable Javascript engine with a focus on portability and compact footprint | https://duktape.org
- apk - duktape-dbg - 2.7.0-r3: normalized package name match | Alpine Linux edge package indexes: duktape-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Embeddable Javascript engine with a focus on portability and compact footprint (debug symbols) | https://duktape.org
- apk - duktape-dev - 2.7.0-r3: normalized package name match | Alpine Linux edge package indexes: duktape-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Embeddable Javascript engine with a focus on portability and compact footprint (development files) | https://duktape.org
- apk - duktape-doc - 2.7.0-r3: normalized package name match | Alpine Linux edge package indexes: duktape-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Embeddable Javascript engine with a focus on portability and compact footprint (documentation) | https://duktape.org
- apk - duktape-libs - 2.7.0-r3: normalized package name match | Alpine Linux edge package indexes: duktape-libs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Embeddable Javascript engine with a focus on portability and compact footprint (libraries) | https://duktape.org
- dnf - duktape - 2.7.0-11.fc44: normalized package name match | Fedora Rawhide package metadata: duktape from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Embeddable Javascript engine | http://duktape.org/
- dnf - duktape-devel - 2.7.0-11.fc44: normalized package name match | Fedora Rawhide package metadata: duktape-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for duktape | http://duktape.org/
- pacman - duktape - 2.7.0-7: normalized package name match | Arch Linux sync databases: duktape from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Embeddable Javascript engine | https://duktape.org/
- zypper - duktape-devel - 2.7.0-3.7: normalized package name match | openSUSE Tumbleweed package metadata: duktape-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for duktape | https://duktape.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [libproxy](https://www.automicvault.com/pkg/brew/libproxy/) - Popular package that depends on this formula.
- [polkit](https://www.automicvault.com/pkg/brew/polkit/) - Popular package that depends on this formula.
- [boa](https://www.automicvault.com/pkg/brew/boa/) - Shares av.db curated category or tags: cli, ecmascript, javascript, language-runtime.
- [deno](https://www.automicvault.com/pkg/brew/deno/) - Shares av.db curated category or tags: cli, javascript, language-runtime, runtime.
- [fibjs](https://www.automicvault.com/pkg/brew/fibjs/) - Shares av.db curated category or tags: cli, javascript, language-runtime, runtime.
- [jerryscript](https://www.automicvault.com/pkg/brew/jerryscript/) - Shares av.db curated category or tags: cli, ecmascript, javascript, language-runtime.
- [node](https://www.automicvault.com/pkg/brew/node/) - Shares av.db curated category or tags: cli, javascript, language-runtime, runtime.
- [quickjs](https://www.automicvault.com/pkg/brew/quickjs/) - Shares av.db curated category or tags: cli, ecmascript, embeddable, javascript, language-runtime.
- [ringojs](https://www.automicvault.com/pkg/brew/ringojs/) - Shares av.db curated category or tags: cli, javascript, language-runtime, runtime.
- [v8](https://www.automicvault.com/pkg/brew/v8/) - Shares av.db curated category or tags: cli, javascript, language-runtime, runtime.

## Combined YAML source

View the package source record on GitHub. [combined/duktape.yml](https://github.com/automic-vault/db/blob/main/combined/duktape.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
