uuid: - value: fe51bb0f-fbce-4823-be30-c4b3aa4a296c langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:01+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: "Don't use global dependencies" created: - value: '2025-02-01T00:00:00+00:00' changed: - value: '2025-05-11T09:00:01+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2025/02/01/global-dependencies langcode: en body: - value: |

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, to make your environment as reproducible and consistent as possible.

format: full_html processed: |

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, to make your environment as reproducible and consistent as possible.

summary: null field_daily_email_cta: { }