Share Node Addons - PullRequest
       62

Share Node Addons

0 голосов
/ 28 января 2020

Я создал аддон узла и могу использовать его без проблем. Я хочу поделиться надстройкой с другими разработчиками. Какой лучший способ поделиться надстройкой, чтобы другие разработчики могли использовать то же самое. Достаточно ли поделиться только .node файлом?

1 Ответ

3 голосов
/ 28 января 2020

В общем, нативное дополнение может распространяться как любой другой пакет на npm

Однако есть некоторые вещи, о которых следует знать:

  1. *.node - это общие библиотеки, поэтому они привязаны к определенной c целевой платформе. Ваш файл *.node подходит только для платформы, для которой вы его создали. Для более широкого использования вам нужно будет создать выделенный файл *.node для любой платформы, которую вы хотите поддерживать.

  2. Используемые сторонние библиотеки: если ваше собственное дополнение использует Сторонние библиотеки, вы должны убедиться, что эти библиотеки присутствуют в целевой системе и можно найти . Вам нужно будет отправить все необходимые библиотеки (и позаботиться о них во время сборки), если вы хотите убедиться, что они доступны. Альтернативный вариант: жесткие требования для вашего пакета

  3. Собственный тип надстройки: в зависимости от того, как вы создали собственную надстройку (например, NAN или N-API), ваша надстройка может быть подходит для определенных версий узлов.

3.1. N-API: ваш собственный надстройка может использоваться с различными версиями узлов (см. этот обзор )

3.2. NAN: Надстройки NAN созданы для определенных версий ABI узла c, поэтому дополнение, созданное для определенного узла ABI (например, 64), не будет использоваться с другим узлом ABI (например, 56). Вам нужно будет предоставить выделенный *.node файл для каждого узла ABI, который вы хотите поддерживать

Существует несколько полезных инструментов, помогающих распространять нативные дополнения: Документы N-API

  • prebuild и prebuild-install помогут вам распространять ваши собственные дополнения через релизы GitHub
  • node-pre-gyp может извлекать надстройки с любого сервера, который вы предоставляете
...