Next.js SSR项目启动报错:无法找到模块../core-js/object/define-property
Hey there, let's sort out this module missing error you're facing with your Next.js SSR project. Looking at the error stack trace, the issue boils down to a missing core-js dependency that's required by @babel/runtime-corejs2 (which is used by your Next.js version 8.0.3). Here's how to fix it step by step:
First, let's recap the error you're seeing for clarity:
Error: Cannot find module '../core-js/object/define-property' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15) at Function.Module._load (internal/modules/cjs/loader.js:508:25) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at Object.../core-js/object/define-property (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:114:18) at __webpack_require__ (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:23:31) at Object../node_modules/_@babel_runtime-corejs2@7.1.2@@babel/runtime-corejs2/helpers/createClass.js (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:186:30) at __webpack_require__ (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:23:31) at Object../node_modules/_next@8.0.3@next/dist/pages/_error.js (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:449:44) at __webpack_require__ (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:23:31) at Object.1 (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:588:18) at __webpack_require__ (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:23:31) at /Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:91:18 at Object.<anonymous> (/Users/yuchenyang/Cs/fe/.next/server/static/development/pages/_error.js:94:10) at Module._compile (internal/modules/cjs/loader.js:701:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10) code: 'MODULE_NOT_FOUND'
Step 1: Install the correct version of core-js
Since your project uses @babel/runtime-corejs2@7.1.2, you need the 2.x version of core-js (3.x versions aren't compatible with this older Babel runtime). Run one of these commands based on your package manager:
For npm:
npm install core-js@2 --save
For yarn:
yarn add core-js@2
Step 2: Clear Next.js's build cache
Cached build files can sometimes cause issues even after installing the missing dependency. Delete the .next folder (Next.js's build output directory) and restart your dev server:
On macOS/Linux:
rm -rf .next && npm run dev
On Windows (Command Prompt):
rmdir /s .next && npm run dev
On Windows (PowerShell):
Remove-Item -Recurse -Force .next && npm run dev
Step 3: Reinstall all dependencies (last resort)
If the above steps don't work, there might be a conflict in your node_modules or lock file. Completely reset your dependencies:
For npm:
rm -rf node_modules package-lock.json npm install npm run dev
For yarn:
rm -rf node_modules yarn.lock yarn install yarn dev
Why this happens
Next.js 8.x relies on older Babel tooling that depends on core-js for polyfilling JavaScript features. In some cases, npm/yarn might fail to install this transitive dependency automatically—either due to cache issues, version mismatches, or partial installs. Installing core-js@2 explicitly resolves this missing module error.
内容的提问来源于stack exchange,提问作者ycy

