macOS
brew install gjslocal Homebrew formula metadata
sudo port install gjsMacPorts ports tree · gnome/gjs/Portfile · source: api.github.com
brew
JavaScript Bindings for GNOME. Version 1.88.1 via Homebrew; verified 2026-06-29.
install
brew install gjslocal Homebrew formula metadata
sudo port install gjsMacPorts ports tree · gnome/gjs/Portfile · source: api.github.com
sudo apk add gjsAlpine Linux edge package indexes · gjs · source: dl-cdn.alpinelinux.org
sudo apt install gjsDebian stable package indexes · gjs · source: deb.debian.org
sudo dnf install gjsFedora Rawhide package metadata · gjs · source: dl.fedoraproject.org
nix profile install nixpkgs#gjsnixpkgs package indexes · pkgs/by-name/gj/gjs/package.nix · source: api.github.com
sudo pacman -S gjsArch Linux sync databases · gjs · source: geo.mirror.pkgbuild.com
sudo zypper install gjsopenSUSE Tumbleweed package metadata · gjs · source: download.opensuse.org
overview
JavaScript Bindings for GNOME
history
GJS is GNOME's JavaScript runtime, built on Firefox's SpiderMonkey engine and GNOME platform libraries. It lets JavaScript programs use GNOME APIs through GObject Introspection and provides the runtime used by GNOME Shell, extensions, and many GNOME applications.
The GJS README gives an unusually direct origin story: the idea traces to an August 2008 blog post and experimental gscript code, while the recognizable project form was developed in October 2008 at litl for the litl webbook.
GJS was soon adopted as the basis of GNOME Shell's user-interface code and extension system, and the README says it debuted as a fundamental component of GNOME 3.0. That made it a central runtime in the GNOME desktop rather than a standalone scripting curiosity.
In 2013, during the GNOME Developer Experience Hackfest, GJS was declared the first among equals for GNOME application development. The README records that this was controversial and later abandoned, but the episode shows how seriously GNOME considered JavaScript as an application language.
The GJS README names GNOME Shell, Maps, Characters, Sound Recorder, and many other apps as GJS users. It also notes use in Endless OS's offline-content framework and in Cinnamon through a forked version.
Package metadata in this batch shows GJS distributed through Homebrew, Alpine, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE. That breadth follows from its role as a GNOME platform component and language runtime.
Practitioners use GJS to write JavaScript programs that call GNOME platform libraries. The README documents an interactive interpreter, whole-program execution with gjs filename.js, debugger support through -d in supported versions, and coverage-report facilities.
GJS is also used by extension authors and desktop developers because GNOME Shell and related applications expose platform behavior through JavaScript. The runtime bridges familiar JavaScript syntax with GTK, GLib, and other introspected GNOME libraries.
GJS matters to package people because it is both a language runtime and a desktop-platform dependency. Packaging it means coordinating SpiderMonkey, GObject Introspection, GNOME libraries, ABI expectations, and application consumers.
It also represents a major desktop choosing an embedded JavaScript runtime for core UI behavior. That makes GJS more like a platform runtime than a conventional command-line interpreter.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
gjs | cli | global executable | |
gjs-console | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://gitlab.gnome.org/GNOME/gjs/wikis/Home
install metadata
| Package key | brew:gjs |
|---|---|
| Version | 1.88.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/gjs |
| Homepage | https://gitlab.gnome.org/GNOME/gjs/wikis/Home |
| Repository | https://gitlab.gnome.org/GNOME/gjs |
| Upstream docs | https://gjs-docs.gnome.org/gjs |
| License | LGPL-2.0-or-later AND MIT |
| Source archive | https://download.gnome.org/sources/gjs/1.88/gjs-1.88.1.tar.xz |
| Last updated | 2026-06-29T04:06:11Z |
| Pulse | updated |
| Dependencies | cairo, gettext, glib, libx11, readline, spidermonkey |
| Build dependencies | gobject-introspection, meson, ninja, pkgconf |
| Uses from macOS | libffi |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | gjs |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
gjs 1.82.3-1
Mozilla-based javascript bindings for the GNOME platform (cli tool)
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install gjsgjs-tests 1.82.3-1
Mozilla-based javascript bindings for the GNOME platform (tests)
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install gjs-testslibgjs-dev 1.82.3-1
Mozilla-based javascript bindings for GNOME - development files
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install libgjs-devlibgjs0g 1.82.3-1
Mozilla-based javascript bindings for the GNOME platform
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install libgjs0ggjs
nix profile install nixpkgs#gjsgjs 1.80.2-1build2
Mozilla-based javascript bindings for the GNOME platform (cli tool)
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install gjsgjs-tests 1.80.2-1build2
Mozilla-based javascript bindings for the GNOME platform (tests)
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install gjs-testslibgjs-dev 1.80.2-1build2
Mozilla-based javascript bindings for the GNOME platform
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install libgjs-devlibgjs0g 1.80.2-1build2
Mozilla-based javascript bindings for the GNOME platform
https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/README.md
sudo apt install libgjs0ggjs 1.88.0-r1
GNOME javascript library
https://gitlab.gnome.org/GNOME/gjs
sudo apk add gjsgjs-dbg 1.88.0-r1
GNOME javascript library (debug symbols)
https://gitlab.gnome.org/GNOME/gjs
sudo apk add gjs-dbggjs-dev 1.88.0-r1
GNOME javascript library (development files)
https://gitlab.gnome.org/GNOME/gjs
sudo apk add gjs-devgjs 1.88.0-1.fc45
Javascript Bindings for GNOME
https://wiki.gnome.org/Projects/Gjs
sudo dnf install gjsgjs-devel 1.88.0-1.fc45
Development package for gjs
https://wiki.gnome.org/Projects/Gjs
sudo dnf install gjs-develgjs-tests 1.88.0-1.fc45
Tests for the gjs package
https://wiki.gnome.org/Projects/Gjs
sudo dnf install gjs-testsgjs 2:1.88.0-1
Javascript Bindings for GNOME
https://wiki.gnome.org/Projects/Gjs
sudo pacman -S gjssource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.