n1sym tech blog

Astro の Failed to resolve entry for package "fs" というエラーを解決したメモ

Astro に fs を導入して、npm run build を実行したら以下のエラーが出た。

 error   Failed to resolve entry for package "fs". The package may have incorrect main/module/exports specified in its package.json.
  File:
    file
  Stacktrace:
Error: Failed to resolve entry for package "fs". The package may have incorrect main/module/exports specified in its package.json.
    at packageEntryFailure (file:///vercel/path0/front/node_modules/vite/dist/node/chunks/dep-c842e491.js:35293:11)
    at resolvePackageEntry (file:///vercel/path0/front/node_modules/vite/dist/node/chunks/dep-c842e491.js:35290:5)
    at tryNodeResolve (file:///vercel/path0/front/node_modules/vite/dist/node/chunks/dep-c842e491.js:35031:20)
    at Object.resolveId (file:///vercel/path0/front/node_modules/vite/dist/node/chunks/dep-c842e491.js:34792:28)
    at Object.handler (file:///vercel/path0/front/node_modules/vite/dist/node/chunks/dep-c842e491.js:46785:19)
    at file:///vercel/path0/front/node_modules/rollup/dist/es/shared/rollup.js:22748:40
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
Error: Command "npm run build" exited with 1

ログを見ると vite のエラーっぽいので調べてみると、https://github.com/vitejs/vite/issues/4037 あたりが近そう。

以下を追加したら解決した。

// vite.config.js
import { defineConfig } from "vite";

export default defineConfig({
  build: {
    rollupOptions: {
      external: ["fs", "path"],
    },
  },
});
← Back to home