Camel CLI - Installation Options
Alternative ways to install the Camel CLI — pinning a specific version, offline-safe setups, and running from a container image.
For the standard installation, see Getting Started.
Installing a specific version
Every installation method installs the latest Camel release by default. The latest release can be newer than the current LTS release; if you need an LTS version, for example because a plugin you use does not support the latest release yet, install it explicitly.
With the installer script
The installer script (Linux, macOS and Windows) accepts an exact version, a release line or LTS:
curl -fsSL https://camel.apache.org/install.sh | sh -s -- --version 4.22.2 # exactly 4.22.2
curl -fsSL https://camel.apache.org/install.sh | sh -s -- --version 4.22 # newest 4.22.x
curl -fsSL https://camel.apache.org/install.sh | sh -s -- --version LTS # newest LTS release On Windows, download install.ps1 and run it with -Version 4.22.2, -Version 4.22 or -Version LTS. Run camel version to check the installed version.
The value is recorded as a pin: camel self-update never moves an exact version, and moves a release line or LTS pin only to the newest release of that line or the newest LTS release. See Installing the Camel CLI Launcher for details.
With JBang
By default, jbang app install installs the latest Camel release. To pin a specific version (for example 4.22.2):
jbang app install --force --fresh -Dcamel.jbang.version=4.22.2 -Dcamel-kamelets.version=4.22.2 camel@apache/camel The --force and --fresh flags ensure JBang bypasses its download cache.
From Camel 4.17, Kamelets are optional and downloaded on demand. Set the version with --kamelets-version on camel run, or pre-configure it: camel config set kamelets-version=4.17.0. |
Installed CLI version and the Camel version used to run
The installed version is the version of the Camel CLI itself, shown by camel version. With a JBang install, camel run --camel-version=X.Y.Z or camel version set X.Y.Z run integrations with another Camel version without changing the installed CLI. The launcher installed by the installer script does not support --camel-version: install another CLI version instead.
Preventing automatic upgrades
JBang occasionally checks upstream sources and may auto-update the installed CLI. If you need a stable, repeatable installation, use one of the options below.
Option 1: Pin from a local CamelJBang.java
This is the most deterministic approach — best for fully offline environments.
-
Download
CamelJBang.javato your local machine. -
Edit the file and set the Camel version you want.
-
Install from the local file:
jbang app install CamelJBang.java
The file can be deleted after installation.
Option 2: Pin from a version-tagged catalog
Simpler than Option 1, but still prevents surprise upgrades:
CAMEL_VERSION="4.18.0"
CAMEL_TAG="camel-${CAMEL_VERSION}"
CAMEL_JBANG_CATALOG_URL="https://raw.githubusercontent.com/apache/camel/${CAMEL_TAG}/jbang-catalog.json"
jbang app install --force --fresh \
-Dcamel.jbang.version="${CAMEL_VERSION}" \
-Dcamel-kamelets.version="${CAMEL_VERSION}" \
camel@"${CAMEL_JBANG_CATALOG_URL}" The catalog URL points to a specific release tag, so JBang will not pull a newer version.
Option 3: Use the Camel Wrapper
Similar to the Maven Wrapper, the Camel Wrapper creates version-pinning scripts in your project directory:
camel wrapper This creates a .camel/camel-wrapper.properties file and launcher scripts so anyone working on the project uses the same Camel CLI version — no manual install needed.
Pin a specific version:
camel wrapper --camel-version=4.18.0 Option 4: Use the Camel Launcher
The Camel CLI Launcher is a self-contained executable JAR that runs without JBang entirely.
Container image
The Camel CLI is also available as a container image (apache/camel-jbang on Docker Hub), see Container Image.