Installation

Getting started with BoxLang is easy! Choose your path wisely!

Requirements

You should be able to grab the Java 21 JRE for your OS and CPU arch here: Download Java 21 JRE

  • JRE 21+

We recommend using homebrew to get started on a Mac with the BoxLang requirements. If not, you must download the requirements separately from the link above.

brew install curl zip unzip jq openjdk@21

Quick Installer

To get started quickly with BoxLang, use our BoxLang Quick Installer for Mac/Linux/*Nix/Windows

/bin/bash -c "$(curl -fsSL https://downloads.ortussolutions.com/ortussolutions/boxlang/install-boxlang.sh)"

The quick installer requires the following:

  • JRE21+

  • Permission to copy files to /usr/local/bin and /usr/local/lib

The quick installer will install the latest stable OS binary and the MiniServer in the above directories. It will also install the following scripts for you.

  • boxlang - Our BoxLang binary runner, learn more

  • boxlang-miniserver - Our BoxLang MiniServer binary runner, learn more

  • install-boxlang - The quick installer so you can reuse it to upgrade your installations

  • install-bx-module - A module installer. Just pass in the slug of the module, an optional version or a list of modules.

# Install a single module
install-bx-module bx-compat-cfml

# Install a specific verision of a module
install-bx-module bx-compat-cfml@1.11.0

# Install multiple async modules
install-bx-module bx-compat-cfml bx-esapi bx-pdf

Upgrading Your Install

The install-boxlang script will allow you to upgrade your OS installation easily. If you call it without arguments, it will install the latest stable release and override the local install. You can also pass a specific version to install as the second argument or the word snapshotto install the bleeding edge release.

# Upgrade to the latest stable version
install-boxlang

# Upgrade or Downgrade to a specific version
install-boxlang 1.0.0

# Use the latest snapshot
install-boxlang snapshot

Installing Modules

You can use the install-bx-module binary to install modules into your boxlang home. Just pass in the name of the slug you want. You can use the install bx-modulesto install multiple modules at once as well.

Install to BoxLang Home

# install individual modules
install-bx-module bx-compat-cfml
install-bx-module bx-esapi

# install multiple modules
install-bx-module bx-compat-cfml bx-esapi

Install Locally

You can also install modules to the running application (CLI, web) by using the --localoption in the command. This will create a boxlang_modulesfolder from where you ran the command and install the modules locally.

# install individual modules
install-bx-module bx-compat-cfml --local
install-bx-module bx-esapi --local

# install multiple modules
install-bx-module bx-compat-cfml bx-esapi --local

R.E.P.L.

Read Evaluate Print Loop

A REPL, or Read-Evaluate-Print Loop, is an interactive programming environment that takes single user inputs, executes them, and returns the result to the user. This is particularly useful for testing code snippets and debugging in real time. In the context of BoxLang, running boxlang will start the REPL, allowing you to write and test code quickly within the BoxLang environment.

Binaries

The quick installer is the best and easiest way to get installed on Mac or *Nix. However, below, you can find a collection of all our installers and binaries for running BoxLang and each Runtime.

Operating System Binaries

Here, you can find the installers and binaries for all Operating Systems:

MiniServer Binaries

The BoxLang MiniServer includes the BoxLang OS runtime with the addition of our super fast and lightweight web server.

AWS Lambda Binaries

BoxLang can also run on AWS Lambdas. It even powers our entry playground at https://try.boxlang.io.

CommandBox BoxLang Server

BoxLang can also be deployed using CommandBox. This is our preferred way to deploy web applications using BoxLang. BoxLang +/++ Subscribers even get access to CommandBox Pro. Note: This installation method is typically localized for a particular web application and is not typically accessed generally by other applications.

box install commandbox-boxlang
box server start cfengine=boxlang javaVersion=openjdk21_jdk

Learn more in our CommandBox guide.

Servlet EE Binaries

This is the servlet edition of BoxLang that you can deploy on any servlet container (Jetty, Tomcat, JBoss, etc)

Docker

We have a full Docker guide you can follow here.

BoxLang IDE

The BoxLang IDE is a collection of modules for VSCode that will give you a line debugger, LSP (Language Server Protocol), highlighting, introspection, generation, and much more. You can find it here:

Core Modules

The BoxLang core is lightweight and fast. Everything that extends the core comes as modules or individual runtimes. We have a collection of core modules that the BoxLang team maintains and curates. We also have several enterprise modules for our BoxLang +, ++ subscribers, and the community can create and share modules in our cloud package manager FORGEBOX.

BoxLang+, ++ Modules

Our BoxLang+, and ++ subscribers not only get professional/customized support but also new features, and modules. You can find out more about our subscriptions here: https://boxlang.io/plans. Here is the collection of modules that you will get with your subscription which are not part of the open source edition.

Module
Description
Status

bx-redis

Native Redis integration is used for caching, session distribution, and publish-subscribe events. install-bx-module bx-redis

Done

bx-mongo

Native MongoDB integration for caching, session distribution and advanced MongoDB operations.

In Development

bx-couchbase

Native Couchbase integration for caching, NoSQL, session distribution and advanced Couchbase usage.

In Development

bx-pdftools

Our collection of enhanced PDF tooling. Includes the ability to extract PDF forms, fill out PDF forms, squash, merge and more.

In Development

Last updated

Was this helpful?