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

Once the requirements are installed, then move down to the quick installer.

Quick Installer

Once the requirements above are installed, to get started quickly with BoxLang, use our BoxLang Quick Installer for Mac/Linux/*Nix/Windows. This will allow you to execute the script in your favorite terminal application. Please note that some OS will require you to run it as an administrator or with sudo capabilities.

Just copy the following into your terminal to install be default for your user.

/bin/bash -c "$(curl -fsSL https://install.boxlang.io)"

If you want a system-wide installation then prefix it with sudo:

sudo /bin/bash -c "$(curl -fsSL https://install.boxlang.io)"

Please make sure you use the --help on our scripts to see everything you can do with them.

The quick installer will install the latest stable BoxLang 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 or install the snapshot version of BoxLang. Run install-boxlang --help for more commands.

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

# Test BoxLang works:
boxlang --version

# Get Help
install-boxlang --help

# Upgrade your installation
install-boxlang

# Uninstall
install-boxlang --uninstall

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

# Install a specific version 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

# Remove a module
install-bx-module --remove bx-esapi

# List your modules
install-bx-module --list

# Get all the help
install-bx-module --help

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. You can find all the latest artifacts here: https://downloads.ortussolutions.com/#/ortussolutions/boxlang/

# 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.

All our modules are available in the cloud software directory FORGEBOX. You can also register and collaborate with modules of your own 🙋.

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.

The REPL will also remember state, so you can define variables and use them in your testing and explorations. Code away 🚀

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:

Install Now

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.

Modules

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?