Composer cheatsheet for a Drupalist

Composer cheatsheet for a Drupalist

Posted on Tue, 11/12/2019 - 19:01 by yuseferi

As you know Composer is a great tool to manage packages and their dependencies in PHP, while in Drupal 8.8 is going to more composer compatible, you can find composer cheatsheet in the following.

 

 

Installing dependencies

composer install

Downloads and installs all the libraries and dependencies outlined in the composer.lock file. If the file does not exist it will look for composer.json and do the same, creating a composer.lock file.

 

composer install --dry-run

Simulates the install without installing anything.

This command doesn’t change any file. If composer.lock is not present, it will create it.

composer.lock should always be committed to the repository. It has all the information needed to bring the local dependencies to the last committed state. If that file is modified on the repository, you will need to run composer install again after fetching the changes to update your local dependencies to those on that file

 

Adding packages

composer require vendor/package 
## or in a short way
composer req vendor/package 

Adds package from vendor to composer.json’s require section and installs it

 

composer require vendor/package --dev

Adds package from vendor to composer.json’s require-dev section and installs it. This command changes both the composer.json and composer.lock files.

 

Removing packages

composer remove vendor/package

Removes vendor/package from composer.json and uninstalls it This command changes both the composer.json and composer.lock files.

 

Updating packages

composer update

Updates all packages

 

composer update --with-dependencies

Updates all packages and its dependencies

 

composer update vendor/package

Updates a certain package from vendor

 
composer update vendor/*

Updates all packages from vendor

 

composer update --lock

Updates composer.lock hash without updating any packages This command changes only the composer.lock file.

 

PS: the all above comments will work to install drupal , just keep in mind in all drupal modules,  vendor=drupal, it means if you want to install a module, just change vendor name in above command wit drupal.for example

I want to install  Nothing  module, the url of the module is https://www.drupal.org/project/nothing so the command for install it is 

composer req drupal/nothing

 

Development with composer and packages is much much easier than legacy code.

 

Additional link:

https://getcomposer.org/download/