Eleventy `cannot find module /app/node_modules/@11ty/eleventy/cmd.js`

throw err;
Error: Cannot find module '/app/node_modules/@11ty/eleventy/cmd.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:610:15)
at Function.Module._load (internal/modules/cjs/loader.js:526:27)
at Function.Module.runMain (internal/modules/cjs/loader.js:826:10)
at internal/main/run_main_module.js:17:11

Why is this happening? It seems to be an error within eleventy

const { DateTime } = require("luxon");
const pluginSEO = require("eleventy-plugin-seo");

  This is the JavaScript code that determines the config for your Eleventy site
  - You can add lost of customization here to define how the site builds your content
  - Try extending it to suit your needs!

module.exports = function(eleventyConfig) {
    // Templates:
    // Static Assets:

  From: https://github.com/artstorm/eleventy-plugin-seo
  Adds SEO settings to the top of all pages
  The "glitch-default" bit allows someone to set the url in seo.json while
  still letting it have a proper glitch.me address via PROJECT_DOMAIN
  const seo = require("./src/seo.json");
  if (seo.url === "glitch-default") {
    seo.url = `https://${process.env.PROJECT_DOMAIN}.glitch.me`;
  eleventyConfig.addPlugin(pluginSEO, seo);

  // Filters let you modify the content https://www.11ty.dev/docs/filters/
  eleventyConfig.addFilter("htmlDateString", dateObj => {
    return DateTime.fromJSDate(dateObj, { zone: "utc" }).toFormat("yyyy-LL-dd");

  eleventyConfig.setBrowserSyncConfig({ ghostMode: false });

    Build the collection of posts to list in the site
    - Read the Next Steps post to learn how to extend this
  eleventyConfig.addCollection("posts", function(collection) {
      The posts collection includes all posts that list 'posts' in the front matter 'tags'
    // Extend here with code from Next Steps page to reverse chronological order
    // (inspired by https://github.com/11ty/eleventy/issues/898#issuecomment-581738415)
  const coll = collection
      .sort((a, b) => b.data.date - a.data.date);

    // From: https://github.com/11ty/eleventy/issues/529#issuecomment-568257426 
    // Adds {{ prevPost.url }} {{ prevPost.data.title }}, etc, to our njks templates
    for (let i = 0; i < coll.length; i++) {
      const prevPost = coll[i - 1];
      const nextPost = coll[i + 1];

      coll[i].data["prevPost"] = prevPost;
      coll[i].data["nextPost"] = nextPost;

    return coll;

  return {
    dir: {
      input: "src",
      includes: "_includes",
      output: "build"

This is my .eleventy.js file.