Skip to content

BLT tooling

The following is a list of operating system-level tools that BLT uses.

Not all of these are absolutely required. Some are required only when using certain features of BLT, such as Selenium-based testing integration.

System-level packages

For installation instructions, see Installing BLT.

ToolRequiredPurpose
PHPYesRequired by several tools, including Composer, Drush, Robo, and Drupal. BLT requires PHP 7.4 or higher, PHP 8.0 or 8.1 recommended if using BLT 13.x.
ComposerYesUsed to manage project-level dependencies for BLT and Drupal. Composer is the default package manager for the PHP community, and is also used by Drupal core. 
For information about using Composer in conjunction with BLT, see Using Composer to manage dependencies
You can update to the latest version of Composer by using the following command: composer self-update
GitYesA distributed version control system. It is the VCS tool for the Drupal community.
DrushYesCommand line shell and Unix scripting interface for Drupal. BLT uses Drush to communicate with Drupal from the command line. 
Drush is both a system level and a project level dependency, which is unusual. It is possible to have one version of Drush on your computer and a different version of Drush used in your project directory. This is useful but frequently causes confusion. 
Drush uses a special launcher script to look for a copy of Drush that is specific to your project. BLT ships such project-level drush binary in the vendor/bin directory of your project. Your global Drush installation defers to the project level binary when executing drush from a BLT project directory.
JavaNoRequired by Selenium to communicate with Chrome. Selenium is one option for executing JavaScript Behat tests. For more information, see Automated testing.
ChromeDriverNoRequired by Selenium to communicate with Chrome. Selenium is one option for executing JavaScript Behat tests. For more information, see Automated testing.
YarnNoA package manager for JavaScript.
nvmNoManages multiple versions of NodeJS on a single computer.

Validation and testing tools

The following tools are installed by BLT with Composer:

  • Behat
  • PHPUnit
  • PHP Code Sniffer

Local environments

For more information, see Local development with BLT.

Continuous integration and continuous delivery solutions

Although you can use any continuous integration (CI) or continuous delivery (CD) tool with BLT, Acquia recommends that you use Code Studio (which requires no additional configuration) or Acquia Pipelines which Acquia provides default configuration for:

For more information, see Continuous integration.

Hosting

Although you can host a BLT project in any Drupal-compatible hosting environment, specific support is provided for Acquia (including Site Factory) with the following services:

  • Providing Cloud hooks (and/or Factory hooks).
  • Providing Acquia-specific default configuration in settings.php.
  • Structuring project directories to match Cloud Platform repository’s default structure.

Headless Chrome

Headless Chrome is used by default for Behat tests, although you can also use Selenium or PhantomJS.

Note for Docker users

Connections to Headless Chrome will occasionally time out in containerized environments, such as Docker. For discussion and a possible solution, see this issue on GitHub.

Did not find what you were looking for?

If this content did not answer your questions, try searching or contacting our support team for further assistance.

Back to Section navigation