错误:尽管 Node 版本正确,但在为 Next.js 应用程序运行“npm start”时找不到模块“stream/web”

Luk*_*Lyu 2 node.js npm next.js

我尝试通过运行来安装下一个应用程序npm create next-app --typescript。安装后,当我运行时npm start,我收到一条错误消息,显示“错误:找不到模块‘stream/web’”:以下是该过程的片段:

\n
(base) \xe2\x9e\x9c  Next-Project npm create next-app --typescript\nNeed to install the following packages:\n  create-next-app\nOk to proceed? (y) y\n\xe2\x9c\x94 What is your project named? \xe2\x80\xa6 my-app\n\xe2\x9c\x94 Would you like to use TypeScript? \xe2\x80\xa6 No / Yes\n\xe2\x9c\x94 Would you like to use ESLint? \xe2\x80\xa6 No / Yes\n\xe2\x9c\x94 Would you like to use Tailwind CSS? \xe2\x80\xa6 No / Yes\n\xe2\x9c\x94 Would you like to use `src/` directory? \xe2\x80\xa6 No / Yes\n\xe2\x9c\x94 Would you like to use App Router? (recommended) \xe2\x80\xa6 No / Yes\n\xe2\x9c\x94 Would you like to customize the default import alias? \xe2\x80\xa6 No / Yes\nCreating a new Next.js app in /Users/tempuser/Documents/React/Next-Project/my-app.\n\nUsing npm.\n\nInitializing project with template: app \n\n\nInstalling dependencies:\n- react\n- react-dom\n- next\n\nnpm WARN EBADENGINE Unsupported engine {\nnpm WARN EBADENGINE   package: 'next@13.4.19',\nnpm WARN EBADENGINE   required: { node: '>=16.8.0' },\nnpm WARN EBADENGINE   current: { node: 'v15.14.0', npm: '7.24.2' }\nnpm WARN EBADENGINE }\n\nadded 23 packages, and audited 24 packages in 3s\n\n4 packages are looking for funding\n  run `npm fund` for details\n\nfound 0 vulnerabilities\nInitialized a git repository.\n\nSuccess! Created my-app at /Users/tempuser/Documents/React/Next-Project/my-app\n\n(base) \xe2\x9e\x9c  Next-Project ls\nmy-app\n(base) \xe2\x9e\x9c  Next-Project cd my-app \n(base) \xe2\x9e\x9c  my-app git:(main) npm start\n\n> my-app@0.1.0 start\n> next start\n\nnode:internal/modules/cjs/loader:927\n  throw err;\n  ^\n\nError: Cannot find module 'stream/web'\nRequire stack:\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/node-polyfill-web-streams.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/render.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/lib/server-ipc/index.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/lib/router-server.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/lib/start-server.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/cli/next-start.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/lib/commands.js\n- /Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/bin/next\n    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:924:15)\n    at Function.Module._load (node:internal/modules/cjs/loader:769:27)\n    at Module.require (node:internal/modules/cjs/loader:996:19)\n    at require (node:internal/modules/cjs/helpers:92:18)\n    at Object.<anonymous> (/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/node-polyfill-web-streams.js:6:9)\n    at Module._compile (node:internal/modules/cjs/loader:1092:14)\n    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)\n    at Module.load (node:internal/modules/cjs/loader:972:32)\n    at Function.Module._load (node:internal/modules/cjs/loader:813:14)\n    at Module.require (node:internal/modules/cjs/loader:996:19) {\n  code: 'MODULE_NOT_FOUND',\n  requireStack: [\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/node-polyfill-web-streams.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/render.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/lib/server-ipc/index.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/lib/router-server.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/server/lib/start-server.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/cli/next-start.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/lib/commands.js',\n    '/Users/tempuser/Documents/React/Next-Project/my-app/node_modules/next/dist/bin/next'\n  ]\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n

我认为我注意到的是,下一个应用程序安装信息表明我当前的节点版本是“v15.14.0”by saying npm WARN EBADENGINE current: { node: 'v15.14.0', npm: '7.24.2' } 但是当我运行nvm ls并node --version时,两者都显示我的节点版本是 v18.17.1:

\n
(base) \xe2\x9e\x9c  Next-Project nvm ls\n        v18.2.0\n->     v18.17.1\n         system\ndefault -> node (-> v18.17.1)\nnode -> stable (-> v18.17.1) (default)\nstable -> 18.17 (-> v18.17.1) (default)\niojs -> N/A (default)\nunstable -> N/A (default)\nlts/* -> lts/hydrogen (-> v18.17.1)\nlts/argon -> v4.9.1 (-> N/A)\nlts/boron -> v6.17.1 (-> N/A)\nlts/carbon -> v8.17.0 (-> N/A)\nlts/dubnium -> v10.24.1 (-> N/A)\nlts/erbium -> v12.22.12 (-> N/A)\nlts/fermium -> v14.21.3 (-> N/A)\nlts/gallium -> v16.20.2 (-> N/A)\nlts/hydrogen -> v18.17.1\n(base) \xe2\x9e\x9c  Next-Project node --version\nnpm --version\nv18.17.1\n10.0.0\n\n
Run Code Online (Sandbox Code Playgroud)\n

你知道是什么原因导致了这个问题吗?提前致谢。

\n

我尝试过升级和降级node版本和npm版本,试图让它们相互兼容。每次尝试后,我都会在启动应用程序之前删除并重新安装 node_modules 和 package-lock.json 文件。我认为问题可能是版本不兼容。

\n

Ric*_*vid 6

我检查了一下,似乎 next 需要版本 >= 16.4 的节点引擎。尝试升级您的节点版本。问候

---- // ----

我自己做了,确实解决了这个问题:

/w 版本 16.4

/w 版本 >18