Ошибка в перестроении собственного npm -модуля IBM против расширения кода для фабрики - PullRequest
0 голосов
/ 13 марта 2020

Я работаю над расширением Visual Studio Code Платформа IBM Blockchain для Hyperledger Fabri c. Я уже установил расширение IBM против кода. Но когда дело доходит до перестройки собственного модуля узла. Выдается ошибка:

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 Marketplace: V1.0.23 .

версия node-gyp: 6.1.0 .

Кто-нибудь может мне помочь, если у меня возникла проблема?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

Проблема связана с VSCode, использующим электрон и fabri c, что для fabri c -sdk-node требуется узел grp c, который является собственным модулем. узел grp c пытается упростить жизнь, предоставляя предварительно скомпилированные двоичные файлы для определенных версий узла grp c для определенных платформ. Это означает предоставление готовых двоичных файлов для windows, linux и ma c, а также специальных сред, таких как электронная, а также двоичные файлы для всех различных версий узла grp c. Это большое количество готовых двоичных файлов, которые нужно поддерживать, так как vscode постоянно менял версию электрона, а fabri c -node-sdk тестировался на конкретную c версию узла grp c, готовые двоичные файлы не были доступны.

Без встроенных двоичных файлов узел grp c возвращается к компиляции из исходного кода. Компиляция, вероятно, будет протестирована только с указанными c версиями компиляторов для каждой из платформ и изменениями в компиляторах (например, в linux последняя версия g cc равна 9, но в Ubuntu 18.04 по-прежнему используется g cc 7 ) может означать, что источник не будет компилироваться.

Так вот почему вы, вероятно, испытываете проблему. Снижение vscode до 1.39 позволяет узлу grp c снять предварительно собранный двоичный файл, избегая любых проблем, которые могут возникнуть при сборке расширения из исходного кода.

Проблема в том, что расширение IBP может с этим мало что сделать, поскольку оно зависит от версии, которую решает использовать электрон vscode, вне зависимости от того, установлены ли предварительно встроенные двоичные файлы grp c publi sh плюс версия, с которой был протестирован fabri c -sdk-node и указывающий на его зависимости.

Как объяснено в другом ответе, наиболее надежный вариант решения этой проблемы - понизить vscode до 1,39

.
0 голосов
/ 13 марта 2020

Аналогичная проблема была отмечена для пользователей, которые обновили до последней версии vscode. Одна из возможных причин - компилятор Ubuntu 19 g cc в настоящее время не компилирует собственный исходный код gRP C. Поэтому лучше использовать Ubuntu 18.04 или 16.04 до тех пор, пока он не будет отсортирован по узлу grp c.

На данный момент лучшим решением является установка предыдущей версии VS Code (1.39.2), который можно скачать здесь - https://code.visualstudio.com/updates/v1_39

...