我在 cpanel 中启动 Node js 应用程序时收到此错误。
RangeError: WebAssembly.instantiate(): Out of memory: wasm memory
at internal/deps/cjs-module-lexer/dist/lexer.js:1:33573
但是当我在本地主机中开发时,一切都工作正常。
这是我的输出日志,
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli '/opt/alt/alt-nodejs14/root/usr/bin/node',
1 verbose cli '/opt/alt/alt-nodejs14/root/usr/bin/npm',
1 verbose cli 'run-script',
1 verbose cli 'start',
1 verbose cli '--'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]~prestart: [email protected]
6 info lifecycle [email protected]~start: [email protected]
7 verbose lifecycle [email protected]~start: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]~start: PATH: /opt/alt/alt-nodejs14/root/usr/lib/node_modules/npm/node_modules.bundled/npm-lifecycle/node-gyp-bin:/home/proudpos/backend/node_modules/.bin:/opt/alt/alt-nodejs14/root/usr/bin:/home/proudpos/nodevenv/backend/14/bin:/opt/alt/alt-nodejs14/root/usr/bin:/home/proudpos/nodevenv/backend/14/lib/bin/:/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin
9 verbose lifecycle [email protected]~start: CWD: /home/proudpos/backend
10 silly lifecycle [email protected]~start: Args: [ '-c', 'node server.js' ]
11 silly lifecycle [email protected]~start: Returned: code: 1 signal: null
12 info lifecycle [email protected]~start: Failed to exec start script
13 verbose stack Error: [email protected] start: `node server.js`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/opt/alt/alt-nodejs14/root/usr/lib/node_modules/npm/node_modules.bundled/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:375:28)
13 verbose stack at ChildProcess.<anonymous> (/opt/alt/alt-nodejs14/root/usr/lib/node_modules/npm/node_modules.bundled/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:375:28)
13 verbose stack at maybeClose (internal/child_process.js:1055:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid [email protected]
15 verbose cwd /home/proudpos/backend
16 verbose Linux 3.10.0-962.3.2.lve1.5.60.el7.x86_64
17 verbose argv "/opt/alt/alt-nodejs14/root/usr/bin/node" "/opt/alt/alt-nodejs14/root/usr/bin/npm" "run-script" "start" "--"
18 verbose node v14.17.3
19 verbose npm v6.14.13
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] start: `node server.js`
22 error Exit status 1
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
我搜索过但找不到任何答案。 需要一些帮助。
我遇到了同样的问题,我在 vps 的后台运行节点命令,突然它宕机了,我转到我的 cpanel 终端并停止了作业并尝试重新启动,但它给了我这个错误,我不能修理它。我打开本地计算机的终端,通过 ssh 访问该应用程序,然后重新上传代码,然后它就可以正常工作了。我仍然不明白 cpanel 终端和我的笔记本电脑终端之间的区别。
只需 ssh 并运行 npm run dev 就可以了。就我而言,我没有重新上传代码。
我遇到了同样的错误,令人惊讶的是我运行了相同的命令 npm run dev 但来自 SSH 而不是 cPanel,并且它工作正常!
嗯, 原来我在 package.json 文件中使用了
type: "module"
。
这是一直阻止 cpanel 运行我的应用程序的问题。它在 ssh 上对我来说工作正常,但通常不能通过 cpanel 工作。我的
node -v
返回了v14.18.1
import
更改为 require
语法。type: "module"
重要的一点是,您正在使用托管提供商 cPanel(共享托管)或另一个带有内置 SSH 终端控制面板的 VPS。
因此,当您运行托管提供商为您提供的 SSH 终端时。然后,由于服务器的强大功能,它会模拟 SSH 连接,从而限制其执行命令的能力。
当我遇到这样的错误时,我研究了日志中的错误,发现我没有内存泄漏,但同时我有足够的服务器功率,即内存。然后我得出的结论是通过 Putty 通过 SSH 进行连接(或者您可以使用 Windows SSH 终端或 MacOS 上的常规终端)。因此,不要浪费服务器的内存资源来模拟 SSH 终端。
我是这样解决这个问题的!
首先在 cPanel 中以开发模式运行 Node.js(我的版本是 14.20.1),系统会提示您激活它。
直接从SSH终端(Shell或MacOS、Linux)连接到服务器后,执行cPanel给你的NODE.JS激活命令
在终端中运行此命令非常重要,以便您可以运行“NPM”命令
source /home/{user}/nodevenv/{project_name}/14/bin/activate && cd /home/{user}/nodevenv/{project_name}
然后
npm install
npm run dev
并准备好检查您的网站;
要永久获得结果,您需要构建
为此,请将 NODE.JS 置于生产模式并在终端中运行以下命令
source /home/{user}/nodevenv/{project_name}/14/bin/activate && cd /home/{user}/nodevenv/{project_name}
npm install
npm run build
只需使用 putty 或任何其他通过 ssh 将您与服务器连接的终端并运行脚本即可。