繁体   English   中英

调试npm ERR! 代码 ELIFECYCLE npm 错误! 错误号 1

[英]debugging npm ERR! code ELIFECYCLE npm ERR! errno 1

寻求有关如何调试此编译器错误的建议:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ******@1.1.0 dev: `NODE_ENV=development ts-node ./src/server.ts`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ******@1.1.0 dev 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:

这在运行ts-node./src/server.tsnode build/server.js时出现

tsc可以正常工作。

tsconfig.json

{
   "compilerOptions": {
      "lib": [
         "es2018",
         "dom",
         "esnext.asynciterable"
      ],
      "target": "es2018",
      "module": "commonjs",
      "outDir": "build",
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "esModuleInterop": true,
      "sourceMap": false,
      "rootDirs": ["src", "../shared"]
//      "rootDir": "src"
   },
   "exclude": [
      "node_modules",
      "**/*.spec.ts",
      "**/*.test.ts"
   ],
   "references": [
      { "path": "../shared" }
   ]
}

我确实在 tsconfig 中做了一些更改,我想这会导致一些导入失败,但是代码库很大,我真的需要一些指针指向导致错误的代码中的确切行。 特别令人困惑的是tsc运行时没有错误。

更新:

问题在于一些进口并已修复,但再次面临类似问题。 知道当前问题的原因 - 由于某种原因,未加载来自共享项目的导入(如https://www.typescriptlang.org/docs/handbook/project-references.html )(尽管它们正在工作其他模块和 tsconfig.json 与其他模块相同)。 没有特别的错误,只是这个npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! code ELIFECYCLE npm ERR! errno 1

问题:

然而这个话题的主要问题不是特别是这个问题的解决方案,而是如何调试这种所有可用日志基本上是npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 我会定期遇到此类问题,每次都需要花费大量时间来解决,因为我知道的唯一调试方法是注释可能与可能失败的导入相关的代码块,有时这个过程可能需要几个小时.

我解决了这个问题首先删除到 package-lock.json 写控制台 - npm 测试
(如果 npm 安装没有任何问题,可能问题出在服务器上)

  • npm 安装 -g 服务
  • npm 运行构建

问题解决了..如果你想使用你的本地你可以输入

  • 服务-s构建就是这样-祝你好运:)

我将从调试已编译的脚本(虽然没有缩小)开始,因为它删除了您的输入和结果之间的一些中间步骤。 我倾向于使用多种方法来调试这些问题:

  • 首先,如果您怀疑问题出在模块加载上,我建议您尝试使用NODE_DEBUG标志,例如: NODE_DEBUG=module node build/server.js
  • 您可以尝试node --inspect-brk build/server.js并启动检查器来逐步检查它(例如在 Chrome 中)。 如果您的代码实际上已经成功加载,这是最有帮助的,但有时可以帮助自定义加载器。

正如你所说,日志不是很详细,所以我不会花精力去找出如何调试不详细的日志文件,而是我会找出如何修改我的项目,以便它在之后进行一些更详细的日志记录每个主要步骤,所以如果它在某个时候失败,您将看到成功执行的内容,它运行的状态,并且您将看不到从崩溃点开始计划的日志记录。

基于@Porcellus 的回答,能够通过NODE_DEBUG=* flag => 解决此问题,显示了缺失模块的完整堆栈跟踪。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM