daily-email: add 2023-10-10
Why use Composer to manage Drupal dependencies?
This commit is contained in:
parent
87642c8ff2
commit
e732f491db
56
src/content/daily-email/2023-10-10.md
Normal file
56
src/content/daily-email/2023-10-10.md
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
---
|
||||||
|
title: >
|
||||||
|
Why use Composer to manage Drupal dependencies?
|
||||||
|
pubDate: 2023-10-10
|
||||||
|
permalink: >
|
||||||
|
archive/2023/10/10/why-use-composer-to-manage-drupal-dependencies
|
||||||
|
tags:
|
||||||
|
- software-development
|
||||||
|
- drupal
|
||||||
|
- php
|
||||||
|
- phpc
|
||||||
|
- composer
|
||||||
|
---
|
||||||
|
|
||||||
|
One of the initial negatives when Drupal 8 launched was introducing Composer, PHP's dependency manager, and how it could affect non-technical users.
|
||||||
|
|
||||||
|
When I started doing Drupal, I downloaded the .tar.gz or .zip file of Drupal, extracted it, and placed it within my project.
|
||||||
|
|
||||||
|
I did the same for any additional modules I needed.
|
||||||
|
|
||||||
|
To update them, I needed to delete my files and repeat the process of downloading and replacing them.
|
||||||
|
|
||||||
|
## Drush
|
||||||
|
|
||||||
|
Then, instead of doing it manually, I used Drush, the "Drupal shell", to download the files. This saved some time, but it still has down-sides.
|
||||||
|
|
||||||
|
What if you needed to install a module like Pathauto, which has dependencies you also need to download and install?
|
||||||
|
|
||||||
|
With Drush or downloading the files manually, you'd need to download the dependencies separately.
|
||||||
|
|
||||||
|
## Composer
|
||||||
|
|
||||||
|
Composer is a dependency manager, which means it can handle these dependencies for us.
|
||||||
|
|
||||||
|
It looks at each project's `composer.json` file to find its dependencies and downloads them.
|
||||||
|
|
||||||
|
For example, to install Pathauto, you run `composer require drupal/pathauto`.
|
||||||
|
|
||||||
|
Within its output, you'll see this:
|
||||||
|
|
||||||
|
```plain
|
||||||
|
Package operations: 3 installs, 0 updates, 0 removals
|
||||||
|
- Downloading drupal/token (1.12.0)
|
||||||
|
- Downloading drupal/ctools (4.0.4)
|
||||||
|
- Downloading drupal/pathauto (1.12.0)
|
||||||
|
```
|
||||||
|
|
||||||
|
As well as Pathauto, it's downloading its dependencies - ctools and pathauto.
|
||||||
|
|
||||||
|
Instead of downloading three modules, we can do it with one command.
|
||||||
|
|
||||||
|
In fact, we don't need to know what its dependencies are - Composer will do that.
|
||||||
|
|
||||||
|
Also, updating the modules is just another simple command - `composer update`.
|
||||||
|
|
||||||
|
While it may be intimidating to non-technical users, learning a few simple commands makes installing and updating modules much easier!
|
Loading…
Reference in a new issue