我们已经在WindowsServer2012R2网络服务器上安装了Node.js。一个开发人员使用Next/React/Node为我们创建了一个应用程序(我不是一个web开发人员,所以我不确定所使用的各种开发工具的具体细节)。此应用程序在命令行上手动启动时运行良好,如下所示:
C:\NodeApps\pacifield\node_modules\next\dist\bin\next启动C:\NodeApps\pacifield>"C:\PROGRAM FILES\NODEJS\NODE.EXE“
然而,这需要有人手动登录和重新启动应用程序时,服务器被重新启动或应用程序停止任何原因。我正在尝试设置PM2来运行应用程序。我已经启动并运行良好,直到您浏览到该应用程序-此时您将得到以下错误:
next-server.ts:306 Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
at resolveDispatcher (c:\NodeApps\pacifield\node_modules\react\cjs\react.development.js:1476:13)
at useContext (c:\NodeApps\pacifield\node_modules\react\cjs\react.development.js:1484:20)
at useSession (c:\NodeApps\pacifield\node_modules\next-auth\dist\client\index.js:75:39)
at Provider (c:\NodeApps\pacifield\node_modules\next-auth\dist\client\index.js:588:12)
at processChild (C:\NodeApps\pacifield\node_modules\react-dom\cjs\react-dom-server.node.development.js:3353:14)
at resolve (C:\NodeApps\pacifield\node_modules\react-dom\cjs\react-dom-server.node.development.js:3270:5)
at ReactDOMServerRenderer.render (C:\NodeApps\pacifield\node_modules\react-dom\cjs\react-dom-server.node.development.js:3753:22)
at ReactDOMServerRenderer.read (C:\NodeApps\pacifield\node_modules\react-dom\cjs\react-dom-server.node.development.js:3690:29)
at Object.renderToString (C:\NodeApps\pacifield\node_modules\react-dom\cjs\react-dom-server.node.development.js:4298:27)
at Object.renderPage (C:\NodeApps\pacifield\node_modules\next\dist\server\render.js:596:45)
我已经检查过了,在C:\NodeApps\pacifield\node_modules\react中只有一个React安装,而当它在PM2之外运行良好时,其他建议似乎没有意义。我已经用ProcessExplorer检查了所有的环境变量都是相同的(除了附加的环境变量,PM2补充说),当应用程序是从命令行运行的,而不是PM2。
有人有什么建议吗?
发布于 2022-02-09 22:22:21
https://stackoverflow.com/questions/71055660
复制相似问题