Available software at build time
These are the languages and tools available to your build during the build process.
Our current build is based on Ubuntu version 20.04 (also called Focal Fossa) and includes the languages and software versions listed below.
There are multiple ways to set the software and language version used for your builds. Learn more about managing your build dependencies.
# Languages
- Node.js
- Set the version using the
NODE_VERSION
build environment variable, a.nvmrc
file, or a.node-version
file. section in the Netlify UI, a - 18 (Default)
- Any version that
nvm
can install.
- Set the version using the
- Ruby
- Set the version using build environment variable
RUBY_VERSION
or a.ruby-version
file. - 2.7.2 (Default)
- 2.6.6
- Any version 2.4.0 or later that
rvm
can install.
- Set the version using build environment variable
- Python
- Set the version using build environment variable
PYTHON_VERSION
or aruntime.txt
orPipfile
file. - 3.8 (Default)
- 2.7
- Set the version using build environment variable
- PHP
- Set the version using build environment variable
PHP_VERSION
. - 7.4
- 8.0 (Default)
- 8.1
- 8.2
- 8.3
- Set the version using build environment variable
- Go
- Set the version using build environment variable
GO_VERSION
. - latest 1.19.x (Default)
- Any version available on the Go downloads page.
- Set the version using build environment variable
- Java
- 8 (Default)
- Emacs
- 26.3 (Default)
- Erlang
- 22.2 (Default)
- Elixir
- 1.9.1 (Default)
- Swift
- Set the version using build environment variable
SWIFT_VERSION
or a.swift-version
file - Not installed by default.
- Supports any version that
swiftenv
can install later than4.x
. Versions4.x
and earlier will not work due to incompatible shared libraries. - 5.4 is installed if
Package.swift
is present and no version is specified withSWIFT_VERSION
or.swift-version
.
- Set the version using build environment variable
- Rust
- Not installed by default.
- Any version that
rustup
can install.
# Tools
- Node.js
- npm
- Set the version using build environment variable
NPM_VERSION
. - Uses the npm version that corresponds with the installed Node.js version. (Default)
- Any version that npm can install.
- Set the version using build environment variable
- Yarn
- Set the version using build environment variable
YARN_VERSION
. - 1.22.19 (Default)
- Any version that the Yarn installer can install.
- Set the version using build environment variable
- pnpm
- Set the version using
packageManager
in yourpackage.json
file. - 7.x (Default)
- Set the version using
- Bower
- npm
- Bun
- 1.x
- Deno
- 1.x
- Python
- pip
- Uses the pip version that corresponds with the installed Python version. (Default)
- Pipenv
- Latest version.
- pip
- PHP
- Composer
- Emacs
- Cask
- Clojure
- Leiningen
- stable version
- Boot
- 2.5.2
- Leiningen
- Hugo
- Set the version using build environment variable
HUGO_VERSION
- 0.85.0 extended (Default)
- Any version that
binrc
can install.
- Set the version using build environment variable
- Zola
- Set the version using build environment variable
ZOLA_VERSION
. (Formerly Gutenberg -GUTENBERG_VERSION
) - Any version that
binrc
can install.
- Set the version using build environment variable
- jq
- 1.6
- ImageMagick
- 6.9.10 (Default)
- libvips
- 8.9.1
- GNU Make
- 3.81
- OptiPNG
- 0.6.4
- Doxygen
- 1.8.17
- Homebrew - support for Homebrew is in
ALPHA
- Not production ready.
- May be removed or changed significantly.
- Any Linux formula is supported.
- Formulae from a
Brewfile.netlify
file are installed automatically throughbrew bundle
. HOMEBREW_BUNDLE_FILE
is respected.
# Check build cache
In order to make builds run faster, we cache certain directories created when we install your dependencies. You can check which directories are cached by searching for $NETLIFY_CACHE_DIR
in the run-build-functions.sh
file for your site’s selected build image.
Learn about investigating your site’s build image and dependencies.
Learn more about troubleshooting builds and clearing your build cache.
# Request support for a language or tool
We love hearing from you and using your input to help us build a better web! Let us know about any missing tools and languages.
You can reach us by opening a new request on our Forums.
# Report a bug
If you find an issue, let our support team know by opening a support request in our Forums.
For anything else, you can use the Docs feedback form on the bottom of this docs page as well to provide us feedback and tell us how we can improve!
Did you find this doc useful?
Your feedback helps us improve our docs.