Drupal Console

Getting the project

There are different ways to get the project on your local machine. Our recommendation for getting the project on your local machine is by using the installer.

Using the Drupal Console Installer

You can install the Drupal Console locally by running the installer in your project directory, the installer will take care of downloading the necesary files to run drupal console on you computer.

Using curl:

$ curl -LSs http://drupalconsole.com/installer | php
    

Or if you don't have curl:

$ php -r "readfile('http://drupalconsole.com/installer');" | php
    

The installer script will simply check some php.ini settings, warn you if they are set incorrectly, and then download the latest console.phar in the current directory.

Example:

$ php console.phar generate:module
    

You can place this file anywhere you wish. If you put it in your PATH, you can access it globally. On unixy systems you can even make it executable and invoke it without php.

Access console from anywhere on your system

$ mv console.phar /usr/local/bin/drupal
    

You can now execute console using:

$ drupal generate:module
    

NOTE: The name drupal is just an alias you can name it anything you like.

Install Drupal Console Using Composer

You can install this project using composer.

+

Install Drupal Console globally using composer:

$ composer global require drupal/console:@stable
    

Add the binary directory to your class path:

$ echo "PATH=$PATH:~/.composer/vendor/bin" >> ~/.bash_profile
    

You can now execute console using:

$ console generate:module
    

Download phar file

You can download the latest version of Console from the repository releases page at:

https://github.com/hechoendrupal/DrupalConsole

Make sure you download the console.phar file from the most current release.

Update project

Drupal 8 is under heavy development, to keep in sync with the latest changes. The easiest and recommended way of updating Drupal Console is using the self-update command.

Depending on the installation method:

Installed globally (and renamed to "drupal"):
$ drupal self-update
    
Installed globally (using composer):
$ composer global update drupal/console:@stable
    
Installed locally (running from directory where the console.phar has been downloaded):
$ php console.phar self-update
    

Available Drupal Console Commands

Note: Drupal Console commands *must* be run from the root of a Drupal 8 installation.

Drupal Console Command Details
about Display basic information about Drupal Console project
chain Chain command execution
drush Run drush from console.
help Displays help for a command
init Copy configuration files to user home directory.
list Lists commands22
self-update Update the console to latest version.
cache
cache:rebuild Rebuild and clear all site caches.
config
config:debug Show the current configuration.
config:edit Edit the selected configuration.
config:export Export current application configuration.
config:export:content:type Export a specific content type and their fields.
config:export:single Export single configuration as yml file.
config:export:view commands.config.export.view.description
config:import Import configuration to current application.
config:import:single Import the selected configuration.
config:override Override config value in active configuration.
container
container:debug Displays current services for an application.
cron
cron:debug List of modules implementing a cron
cron:execute Execute cron implementations by module or execute all crons
cron:release Release cron system lock to run cron again
database
database:client Launch a DB client if it's available
database:connect Launch a DB client if it's available
database:dump Dump structure and contents of MySQL databases and tables
database:log:clear Remove events from DBLog table, filters are available
database:log:debug Display current log events for the application
database:restore Restore structure and contents of MySQL databases and tables
generate
generate:authentication:provider Generate an Authentication Provider
generate:command Generate commands for the console.
generate:controller Generate & Register a controller
generate:doc:dash Generate the DrupalConsole.docset package for Dash
generate:doc:gitbook Generate documentations for Commands
generate:entity:bundle Generate a new content type (node / entity bundle)
generate:entity:config Generate a new config entity
generate:entity:content Generate a new content entity
generate:event:subscriber Generate an event subscriber
generate:form:alter Generate an implementation of hook_form_alter() or hook_form_FORM_ID_alter
generate:form:config Generate a new "ConfigFormBase"
generate:module Generate a module.
generate:permissions Generate module permissions
generate:plugin:block Generate a plugin block
generate:plugin:condition Generate a plugin condition.
generate:plugin:field Generate field type, widget and formatter plugins.
generate:plugin:fieldformatter Generate field formatter plugin.
generate:plugin:fieldtype Generate field type plugin.
generate:plugin:fieldwidget Generate field widget plugin.
generate:plugin:imageeffect Generate image effect plugin.
generate:plugin:imageformatter Generate image formatter plugin.
generate:plugin:rest:resource Generate plugin rest resource
generate:plugin:rulesaction Generate a plugin rule action
generate:plugin:type:annotation Generate a plugin type with annotation discovery
generate:plugin:type:yaml Generate a plugin type with Yaml discovery
generate:plugin:views:field Generate a custom plugin view field.
generate:routesubscriber Generate a RouteSubscriber
generate:service Generate service
generate:theme Generate a theme.
locale
locale:language:add Add a language to be supported by your site
locale:language:delete Delete a language to be supported by your site
locale:translation:status List available translation updates
migrate
migrate:debug Display current migration available for the application
migrate:execute Execute a migration available for application
migrate:setup Load and create the relevant migrations for a provided legacy database
module
module:debug Display current modules available for application
module:download Download module or modules in application
module:install Install module or modules in the application
module:uninstall Uninstall module or modules in the application
multisite
multisite:debug List all multisites available in system
rest
rest:debug Display current rest resource for the application
rest:disable Disable a rest resource for the application
rest:enable Enable a rest resource for the application
router
router:debug Displays current routes for the application
router:rebuild Rebuild routes for the application
site
site:debug List all known local and remote sites.
site:install Install a Drupal project
site:maintenance Switch site into maintenance mode
site:mode Switch system performance configuration
site:new Create a new Drupal project
site:status View current Drupal Installation status
test
test:debug List Test Units available for the application.
test:run Run Test unit from tests available for application
theme
theme:debug Displays current themes for the application
theme:download Install theme or themes in the application
theme:install Install theme or themes in the application
theme:uninstall Uninstall theme or themes in the application
update
update:debug Display current updates available for the application
update:execute Execute a specific Update N function in a module, or execute all
user
user:login:clear:attempts Clear login failed attempts for an account.
user:login:url Returns a one-time user login url.
user:password:hash Generate a hash from a plaintext password.
user:password:reset Reset password for a specific user.
views
views:debug Display current views resources for the application
views:disable Disable a View
views:enable Enable a View
yaml
yaml:diff Compare two YAML files in order to find differences between them.
yaml:merge Merge one or more YAML files in a new YAML file. Latest values are preserved.
yaml:split Split a YAML file using indent as separator criteria
yaml:update:key Replace a YAML key in a YAML file.
yaml:update:value Update a value for a specific key in a YAML file.

Available options

Option Details
help Display this help message
quiet Do not output any message
verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
version Display this application version
ansi Force ANSI output
no-ansi Disable ANSI output
no-interaction Do not ask any interactive question
root Define the Drupal root to be use in command execution
shell Launch the shell.
env The Environment name.
no-debug Switches off debug mode.
learning Generate a verbose code output.
generate-chain Print execution options and arguments as yaml output to be used in chain command
generate-inline Print execution options and arguments as inline call to be use in the future
generate-doc application.console.arguments.generate-doc
target application.console.arguments.target
uri URI of the Drupal site to use (for multisite environments or when running on an alternate port)

Available arguments

Argument Details
command The command to execute