Installation
Requirements
Nextflow can be used on any POSIX-compatible system (Linux, macOS, etc), and on Windows through WSL. It requires Bash 3.2 (or later) and Java 17 (or later, up to 23) to be installed. You can see which version you have using the following command:
java -version
Changed in version 24.11.0-edge: Support for Java versions prior to 17 was dropped.
If you don’t have a compatible version of Java installed in your computer, it is recommended that you install it through SDKMAN!, and that you use the latest LTS version of Temurin. See this website for more information.
To install Java with SDKMAN:
-
curl -s https://get.sdkman.io | bash
Open a new terminal.
Install Java:
sdk install java 17.0.10-tem
Confirm that Java is installed correctly:
java -version
Install Nextflow
Nextflow is distributed as a self-installing package, in order to make the installation process as simple as possible:
Install Nextflow:
curl -s https://get.nextflow.io | bash
This will create the
nextflow
executable in the current directory.Tip
You can set
export CAPSULE_LOG=none
to make the installation logs less verbose.Make Nextflow executable:
chmod +x nextflow
Move Nextflow into an executable path. For example:
mkdir -p $HOME/.local/bin/ mv nextflow $HOME/.local/bin/
Tip
Ensure the directory
$HOME/.local/bin/
is included in yourPATH
variable. Temporarily add this directory toPATH
by settingexport PATH="$PATH:$HOME/.local/bin"
. Add the directory toPATH
permanently by adding the export command to your shell configuration file, such as~/.bashrc
or~/.zshrc
. Alternatively, move thenextflow
executable to a directory already in yourPATH
.Warning
Nextflow will update its executable during the self update process, therefore the update can fail if the executable is placed in a directory with restricted permissions.
Confirm that Nextflow is installed correctly:
nextflow info
Updates
With Nextflow installed in your environment, you can update to the latest version using the following command:
nextflow self-update
You can also temporarily switch to a specific version of Nextflow with the NXF_VER
environment variable. For example:
NXF_VER=23.10.0 nextflow info
Stable and edge releases
A stable version of Nextflow is released every six months, in the 4th and 10th month of each year.
Additionally, an edge version is released on a monthly basis. The edge releases can be used to access the latest updates and experimental features.
To use the latest edge release, set NXF_EDGE=1
when updating:
NXF_EDGE=1 nextflow self-update
You can also use NXF_VER
to temporarily switch to any edge release. For example:
NXF_VER=24.06.0-edge nextflow info
Standalone distribution
The Nextflow standalone distribution (i.e. the dist
distribution) consists of self-contained nextflow
executable file
that includes all the application dependencies for core functionalities, and it can run without downloading third parties
libraries. This distribution is mainly useful for offline environments.
Note however the support for cloud services e.g. AWS, Seqera Platform, Wave, etc. still require the download of the corresponding Nextflow plugins.
To use the standalone distribution:
Download it from the GitHub releases page, under the “Assets” section for a specific
Grant execution permissions to the downloaded file e.g.
chmod -x nextflow-24.10.1-dist
Then you can use it as a drop-in replacement for
nextflow
command. For example:./nextflow-24.10.1-dist run hello