gatsbyjs/gatsby · error

MissingResource

MissingResource

Error message

error copying file from ${details.absolutePath} to ${publicPath}

What it means

extend-file-node's publicURL-style resolver copies the source file into public/static/<contentDigest>/ on first request; this panic fires from the copy callback when fs.copySync reports an error (permissions, missing source, disk issue) while copying details.absolutePath to publicPath.

Solutions

  1. Check the source file exists and is readable at the logged absolutePath.
  2. Verify the build process has write permission to the public directory and enough free disk space.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at packages/gatsby-source-filesystem/src/extend-file-node.js:39 when the library encounters an invalid state.

Common situations: Occurs when copying a file node into the public folder fails, typically due to filesystem permissions or a missing source file. Check that the source path exists and the process can write to the public directory.


AI-assisted analysis of gatsbyjs/gatsby@8b06340921 (2026-08-13). Data as JSON: /api/errors/58667d1d9b6da848. Report an issue: GitHub.

Appendix: source

Thrown at packages/gatsby-source-filesystem/src/extend-file-node.js:39

      resolve: (file, fieldArgs, context) => {
        const details = getNodeAndSavePathDependency(file.id, context.path)
        const fileName = `${file.internal.contentDigest}/${details.base}`

        const publicPath = path.join(
          process.cwd(),
          `public`,
          `static`,
          fileName
        )

        if (!fs.existsSync(publicPath)) {
          fs.copySync(
            details.absolutePath,
            publicPath,
            { dereference: true },
            err => {
              if (err) {
                reporter.panic(
                  {
                    id: prefixId(CODES.MissingResource),
                    context: {
                      sourceMessage: `error copying file from ${details.absolutePath} to ${publicPath}`,
                    },
                  },
                  err
                )
              }
            }
          )
        }

        return `${pathPrefix}/static/${fileName}`
      },
    },
  }
}

View on GitHub (pinned to 8b06340921)