Add daily email for 2025-02-01

Don't use global dependencies
This commit is contained in:
Oliver Davies 2025-02-12 23:49:05 +00:00
parent 31dbe26e38
commit 4de852b3be

View file

@ -0,0 +1,26 @@
---
title: Don't use global dependencies
date: 2025-02-01
permalink: daily/2025/02/01/global-dependencies
tags:
- software-development
cta: ~
snippet: |
Don't use global system-wide versions of your dependencies, use the ones that are defined in your project.
---
I recently watched a YouTube video of someone working on their software.
Everything was working locally, but things were breaking in their CI pipeline.
The issue was their CI environment had different versions of the software than the one they were using locally.
To get the same results locally and in CI, you need your dependencies to be the same.
The same versions of languages, such as PHP and nodejs, and packages like PHPStan, PHPUnit, Jest or eslint.
Dependencies should be installed with a package manager that generates a lock file like composer.lock or package-lock.json, so use these versions instead of installing versions globally that may be different.
For PHP or nodejs, I'd suggest using Docker or Nix, [which has its own lock file][0], to make your environment as reproducible and consistent as possible.
[0]: {{site.url}}/daily/2025/01/20/reproducible