使用oracledb进行查询时,Node中出现“ npm ERR!errno 3221225477”错误

Lev*_*ett 8 javascript node.js npm express node-oracledb

这是命令行中的错误本身:

npm ERR! code ELIFECYCLE
npm ERR! errno 3221225477
npm ERR! versioncenter@0.0.1 start: `node ./bin/www`
npm ERR! Exit status 3221225477
npm ERR!
npm ERR! Failed at the versioncenter@0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\USERNAME\AppData\Roaming\npm-cache\_logs\2019-11-13T17_17_52_250Z-debug.log
/c/Program Files/nodejs/npm: line 37:  1341 Segmentation fault      "$NODE_EXE" "$NPM_CLI_JS" "$@"
Run Code Online (Sandbox Code Playgroud)

这是错误日志:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'start'
1 verbose cli ]
2 info using npm@6.11.3
3 info using node@v12.11.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle versioncenter@0.0.1~prestart: versioncenter@0.0.1
6 info lifecycle versioncenter@0.0.1~start: versioncenter@0.0.1
7 verbose lifecycle versioncenter@0.0.1~start: unsafe-perm in lifecycle true
8 verbose lifecycle versioncenter@0.0.1~start: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\version_center\node_modules\.bin;C:\Users\USERNAME\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\USERNAME\bin;C:\Python27;C:\Python27\Scripts;C:\app\client\USERNAME\product\12.2.0\client_1;C:\app\client\USERNAME\product\12.2.0\client_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files\PuTTY;C:\Program Files\Git\cmd;C:\Program Files\nodejs;C:\ProgramData\chocolatey\bin;C:\Users\USERNAME\AppData\Local\Microsoft\WindowsApps;C:\Users\USERNAME\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\USERNAME\AppData\Local\Programs\Fiddler;C:\Users\USERNAME\AppData\Roaming\npm;C:\app\instantclient_19_3;C:\Program Files\nodejs\node.exe;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
9 verbose lifecycle versioncenter@0.0.1~start: CWD: C:\version_center
10 silly lifecycle versioncenter@0.0.1~start: Args: [ '/d /s /c', 'node ./bin/www' ]
11 silly lifecycle versioncenter@0.0.1~start: Returned: code: 3221225477  signal: null
12 info lifecycle versioncenter@0.0.1~start: Failed to exec start script
13 verbose stack Error: versioncenter@0.0.1 start: `node ./bin/www`
13 verbose stack Exit status 3221225477
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:210:5)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:210:5)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
14 verbose pkgid versioncenter@0.0.1
15 verbose cwd C:\version_center
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "start"
18 verbose node v12.11.1
19 verbose npm  v6.11.3
20 error code ELIFECYCLE
21 error errno 3221225477
22 error versioncenter@0.0.1 start: `node ./bin/www`
22 error Exit status 3221225477
23 error Failed at the versioncenter@0.0.1 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3221225477, true ]
Run Code Online (Sandbox Code Playgroud)

脚本:

“ scripts”:{“ watch”:“ pm2 logs”,“ start”:“ pm2 start ./bin/www --watch --ignore-watch ='node_modules'--max-memory-restart 100M&npm run watch “,” startDev“:” pm2 start ./bin/www“,” stop“:” pm2 stop 0“}

此错误是非常间歇性的。

我已经尝试清理缓存,删除node_modules,package-lock.json并重新安装。

我已经在3个不同的网络上测试过,我已经完全禁用了所有防病毒软件和防火墙,包括网络防火墙。

关于正在发生的事情有什么想法吗?

MI5*_*3RE 9

据我所知,这似乎是与 Windows 访问冲突相关的错误:

https://github.com/nodejs/node/blob/842e5a10ac59c826f875ef79e92d144e2655cc9a/test/common.js#L502-L505

  // On Windows, v8's base::OS::Abort triggers an access violation,
  // which corresponds to exit code 3221225477 (0xC0000005)
  if (process.platform === 'win32')
    expectedExitCodes = [3221225477];
Run Code Online (Sandbox Code Playgroud)

[编辑:]最终尝试升级 (node@v12.11.1 --> node@v12.13.1) 到最新的 LTS 版本的节点,因为它可能会解决您的问题


Syl*_*ylv 5

如果运行,npm cache clean --force您将清除 npm 缓存。这可能会删除缓存中可能导致此问题的任何内容。如果您仍然遇到问题,我建议您重新安装 npm/node.js,这应该可以清除任何与 npm/node.js 相关的问题(如果有)。它也可能与防火墙相关,尽管 OP 表示它与防火墙无关。仔细检查您的防火墙以防万一。

在这里找到了一些东西,这就是我找到npm cache clean --force解决方案的地方。

  • 我不需要强制清理缓存,“npm 缓存验证”对我来说就足够了。 (2认同)

Lev*_*ett 2

对于将来偶然发现这个问题的任何人,这就是我“修复”它的方式:

我使用PM2来包装应用程序并在崩溃时自动重新启动,它不会停止崩溃,但会在与用户保持连接的同时重新加载,这样他们就不会注意到。

它很混乱,但我从未找到此错误的原因或如何修复它。