Skip to content
RingoJS is a JavaScript platform built on the JVM and optimized for server-side applications.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Add jline to Ivy-managed jars Jun 22, 2012
packages Move skeleton apps into apps/admin/skeletons and make them run again. Apr 19, 2011
src/org/ringojs Version bump to 2.0.0 Feb 26, 2019
tools only set executable permissions on non-windows filesystems, as `fs Jan 16, 2018
.editorconfig Adds editorconfig for this project Aug 8, 2018
.gitignore Creates a POM if bundling as JAR Feb 20, 2017
LICENSE.txt objects.clone() -> ports node-clone to Ringo (#345) Sep 26, 2016
ivy.xml Jetty update to 9.4.15.v20190215 Feb 26, 2019


Ringo is a JavaScript platform built on the JVM and optimized for server-side applications. It's based on the Mozilla Rhino JavaScript engine.

It adds a number of features to Rhino that make it suitable for real-world, large-scale application development:

  • A fast, auto-reloading, and CommonJS-compliant module loader.
  • A rich set of modules covering I/O, logging, development tools and much more.
  • Support for blocking and non-blocking I/O.
  • Scalable HTTP server based on the Jetty project.
  • Support for CommonJS packages to install or write additional software components.

For more information, visit the RingoJS web site:

Download and Installation

Download the latest precompiled release from the download page. Extract the archive and add the ringojs/bin directory to your local PATH for convinience.

If you use the Homebrew package manager on MacOS, you can use the ringojs formula: brew install ringojs

Verify Releases

Releases of RingoJS will be signed with one of the following GPG keys:

Building from Source

Current Build Status on Codeship

Ringo requires a recent version of Java. It uses Apache Ant as build tool and Ivy (>= 2.4 is required) for managing dependencies.

If you have these installed, building Ringo is straightforward:

Check out Ringo using Git:

git clone git://

Change to the ringojs directory and run the ant update task to fetch dependencies:

ant update

Then run the jar task to compile the code and build the jar file:

ant jar

Run the docs task to build the documentation:

ant docs

Running RingoJS

It is recommended but not strictly required to add the ringojs bin directory to your PATH environment variable. If you don't you'll have to type the full path to the bin/ringo command in the examples below.

To start the Ringo shell, just run the ringo command without any arguments:


To run a script simply pass it to ringo on the command line. For example, to run the Ringo test suite:

ringo test/all.js

Use the basic ringo-admin command to create a new web application or install packages. To create a blank Ringo web app:

ringo-admin create [appdir]

To install a package from a zip URL:

ringo-admin install [packageurl]

Installing a package manager

Ringo does not ship with a built-in package manager. An easy way to manage packages and their dependencies is the evolving Ringo package manager rp. The main benefit of rp over ringo-admin is that rp downloads dependencies defined in the packages descriptors. rp can install any package available in its online registry.

To install rp itself you can use the ringo-admin tool:

ringo-admin install grob/rp

For more information visit the rp documentation wiki.

Learning more

If you have questions visit or join the mailing list at



JetBrains sponsored an Open Source license for IntelliJ IDEA to create and maintain Ringo. Thanks for your continuous support!

A huge salute to for supporting this projects over the years!

You can’t perform that action at this time.