0

我正在开发用于超级账本结构的Visual Studio Code 扩展 IBM Blockchain 平台。我已经安装了 IBM vs 代码扩展。但是当它进入重建本机节点模块时。它引发了一个错误,即

Failed to activate extension: Failed to execute command "npm" with arguments "rebuild, grpc, --target=7.1.11, --runtime=electron, --update-binary, --fallback-to-build, --target_arch=x64, --dist-url=https://atom.io/download/electron" return code 1

VSCode 版本是1.43.0

VS 市场版本是V1.0.23

node-gyp 版本是6.1.0

谁能帮我解决我的问题?

谢谢。

4

2 回答 2

0

升级到最新版本 vscode 的用户报告了类似的问题。一个可能的原因是 Ubuntu 19 gcc 编译器当前不编译 gRPC 原生源代码。因此最好使用 Ubuntu 18.04 或 16.04,直到它使用 grpc-node 进行排序。

暂时更好的解决方法是安装之前版本的 VS Code(1.39.2),可以在这里下载 - https://code.visualstudio.com/updates/v1_39

于 2020-03-13T06:41:19.610 回答
0

该问题与使用电子的 VSCode 和 fabric-sdk-node 需要节点 grpc 的结构有关,该节点是本机模块。node grpc 尝试通过为某些平台的某些版本的 node grpc 提供预构建的二进制文件来使生活更轻松。这意味着为 windows、linux 和 mac 以及特殊环境(如电子)提供预构建的二进制文件,以及为所有不同版本的 node grpc 提供二进制文件。这是要维护的大量预构建二进制文件,因此 vscode 不断更改电子版本,并且 fabric-node-sdk 被测试为特定版本的节点 grpc,没有可用的预构建二进制文件。

没有预构建的二进制文件节点 grpc 会退回到从源代码编译。编译可能只会针对每个平台的特定版本的编译器进行测试,并且对编译器的更改(例如,在 linux 上,最新的 gcc 版本是 9,但 ubuntu 18.04 仍然使用 gcc 7)可能意味着源无法编译。

因此,这就是您可能遇到问题的原因。将 vscode 降级到 1.39 允许 node grpc 下拉预构建的二进制文件,避免您可能遇到的任何问题,您必须从源代码构建扩展。

问题是 IBP 扩展对此几乎无能为力,因为它取决于电子 vscode 决定使用的版本,无论 grpc 是否发布预构建的二进制文件以及fabric-sdk-node 已测试的版本with 并在其依赖项中指定。

如另一个答案中所述,解决此问题的最可靠选择是将 vscode 降级到 1.39

于 2020-03-13T08:34:02.203 回答