【问题标题】:How can i resolve "throw new Error('Cannot parse privateKey: ' + privKeyInfo.message);" in Windows如何解决“抛出新错误('无法解析 privateKey:' + privKeyInfo.message);”在 Windows 中
【发布时间】:2020-08-06 11:34:18
【问题描述】:

当我运行测试时,我的 Windows 测试客户端出现此错误

CypressError: cy.exec('npm run -s command') 失败,因为命令以非零代码退出。

传递 {failOnNonZeroExit: false} 以忽略退出代码失败。

有关失败的信息: 代码:1

标准错误: C:\Users\Administrator.jenkins\workspace\cypress-execution\node_modules\ssh2\lib\client.js:146 throw new Error('Cannot parse privateKey: ' + privKeyInfo.message);

【问题讨论】:

  • ssh-exec 大约 4 年没有更新,因此它的依赖 semver 范围不再引入包含重要修复和新功能的更新版本的依赖库(尤其是 ssh2)。如果我不得不猜测错误的原因:这是因为 ssh 密钥采用“新”OpenSSH 密钥文件格式,而旧版本的 ssh2(实际上是 ssh2-streams)不支持这种格式。
  • @mscdex 感谢您的意见。您是否找到任何解决方法来使其正常工作?我面临这个问题的地方是在一个虚拟机中(在我的所有三个虚拟机中),但同时它也在我的笔记本电脑上工作,这也是 Windows。
  • 我解决了这个问题。它很奇怪。我创建了一个新用户并使用 ssh-exec 执行了相同的脚本,它开始工作。早些时候我尝试使用管理员帐户,看起来它正在阻止执行某些内容。通过创建一个新的用户帐户来解决问题。谢谢!!

标签: javascript node.js ssh cypress ssh2


【解决方案1】:

try... catch 块包装你的代码

try {
   throw 'myException'; // your code goes here
}
catch (e) {
   console.log(e);
}

【讨论】:

  • 当我使用 ssh-exec@2.0.0 包运行我的 ssh cli 命令时出现此错误。不是代码问题。错误是由 ssh 包引发的
  • 关于错误信息,您缺少诸如私钥之类的内容。
猜你喜欢
  • 2016-08-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-06
  • 2015-03-17
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
相关资源
最近更新 更多