重建IBM的本机npm-vs结构中的错误vs结构的代码扩展

问题描述 投票:0回答:2
我正在使用

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

有人在有问题的地方可以帮助我吗?

谢谢。

visual-studio-code ibm-cloud hyperledger-fabric ibm-blockchain ibp-vscode-extension
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


0
投票
问题与使用电子的VSCode和fabric-sdk-node需要节点grpc的结构有关,后者是本机模块。node grpc尝试通过为某些平台的节点grpc的某些版本提供预构建的二进制文件来简化生活。这意味着要为Windows,Linux和Mac以及特殊环境(如电子)提供预构建的二进制文件,并为节点grpc的所有不同版本提供二进制文件。这需要维护许多预构建的二进制文件,因此vscode会不断更改电子版本,并且将fabric-node-sdk测试为节点grpc的特定版本,因此没有预构建的二进制文件。

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

所以这就是您可能遇到问题的原因。将vscode降级到1.39允许节点grpc下拉预构建的二进制文件,从而避免了从源代码构建扩展时可能遇到的任何问题。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.