проблема node-api.h при настройке сборки с помощью node-gyp - PullRequest
0 голосов
/ 10 сентября 2018

вот консоль после сборки узла-сборки && node index.js

  • В файле, включенном из ../test.cc:1:0:
  • : 0: 26: ошибка: ожидаемый инициализатор перед токеном ‘-’
  • / home / vir4un / .node-gyp / 10.9.0 / include / node / node_api.h: 74: 15: примечание: в определении макроса "NAPI_C_CTOR"
  • static void fn (void) атрибут ((конструктор)); \
  • / home / vir4un / .node-gyp / 10.9.0 / include / node / node_api.h: 104: 3: примечание: в расширении макроса ‘NAPI_MODULE_X’ NAPI_MODULE_X (modname, regfunc, NULL, 0) // NOLINT (читаемость / null_usage)
  • .. / test.cc:47:1: примечание: в расширении макроса NAPI_MODULE NAPI_MODULE (NODE_GYP_MODULE_NAME, Init)
  • .. / test.cc:47:13: примечание: в расширении макроса ‘NODE_GYP_MODULE_NAME’ NAPI_MODULE (NODE_GYP_MODULE_NAME, Init)

также

  • gyp ERR! ошибка сборки
  • gyp ERR! Ошибка стека: make не удалось с кодом выхода: 2
  • gyp ERR! стек в ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:262:23)
  • gyp ERR! стек в ChildProcess.emit (events.js: 182: 13)
  • gyp ERR! стек в Process.ChildProcess._handle.onexit (внутренний / child_process.js: 239: 12)
  • gyr ERR! Система Linux 4.15.0-33-generic
  • gyr ERR! команда "/ usr / bin / node" "/ usr / bin / node-gyp" "configure" "build"
  • gyp ERR! cwd / home / vir4un / app / tanya / app
  • gyr ERR! узел -v v10.9.0
  • gyr ERR! node-gyp -v v3.8.0
  • gyr ERR! не в порядке

также есть журнал отладки:

  1. информация работает, если она заканчивается ок
  2. verbose cli ['/ usr / bin / node', '/ usr / bin / npm', 'start']
  3. информация с использованием npm@6.4.1
  4. информация с использованием node@v10.9.0
  5. verbose run-script ['prestart', 'start', 'poststart']
  6. info жизненный цикл app@1.0.0~prestart: app@1.0.0
  7. info жизненный цикл app@1.0.0~start: app@1.0.0
  8. подробное приложение жизненного цикла@1.0.0~start: unsafe-perm в жизненном цикле true
  9. подробный жизненный цикл app@1.0.0~start: PATH: / usr / lib / node_modules / npm / node_modules / npm-lifecycle / node-gyp-bin: / home / vir4un / app / tanya / app / node_modules /. бен: / USR / местные / SBIN: / USR / местные / бен: / USR / SBIN: / USR / бен: / SBIN: / бен: / оснастке / бен
  10. подробный жизненный цикл app@1.0.0~start: CWD: / home / vir4un / app / tanya / app
  11. глупый жизненный цикл app@1.0.0~start: Args: ['-c', 'node-gyp configure build && node index.js']
  12. глупый жизненный цикл app@1.0.0~start: возвращено: код: 1 сигнал: ноль
  13. info lifecycle app@1.0.0~start: не удалось запустить сценарий запуска
  14. verbose stack Ошибка: app@1.0.0 start: node-gyp configure build && node index.js
  15. многословный стек Выход из состояния 1
  16. подробный стек в EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
  17. многословный стек в EventEmitter.emit (events.js: 182: 13)
  18. многословный стек в ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
  19. многословный стек в ChildProcess.emit (events.js: 182: 13)
  20. многословный стек в MaybeClose (внутренняя / child_process.js: 961: 16)
  21. подробный стек в Process.ChildProcess._handle.onexit (internal / child_process.js: 250: 5)
  22. подробное приложение pkgid@1.0.0
  23. подробный cwd / home / vir4un / app / tanya / app
  24. подробный Linux 4.15.0-33-generic
  25. verbose argv "/ usr / bin / node" "/ usr / bin / npm" "start"
  26. подробный узел v10.9.0
  27. verbose npm v6.4.1
  28. код ошибки ELIFECYCLE
  29. ошибка errno 1
  30. ошибка app@1.0.0 start: node-gyp configure build && node index.js
  31. ошибка Статус выхода 1
  32. Ошибка при запуске скрипта app@1.0.0.
  33. ошибка Это яВероятно, это не проблема с npm.Скорее всего, есть дополнительные выходные данные журнала.
  34. подробный выход [1, true]

здесь test.cc:

#include <node_api.h>

napi_value MyFunction (информация о napi_env, информация о napi_callback_info) {
статус napi_status;size_t argc = 1;int number = 0;napi_value argv [1];status = napi_get_cb_info (env, info, & argc, argv, NULL, NULL);

if (status! = napi_ok) {napi_throw_error (env, NULL, «Не удалось проанализировать аргументы»);}

status = napi_get_value_int32 (env, argv [0], & number);

if (status! = Napi_ok) {napi_throw_error (env, NULL, «В качестве аргумента передано недопустимое число»);} napi_value myNumber;число = число * 2;status = napi_create_int32 (env, number & myNumber);

if (status! = napi_ok) {napi_throw_error (env, NULL, "Невозможно создать возвращаемое значение");}

return myNumber;}

napi_value Init (napi_env env, napi_value exports) {статус napi_status;napi_value fn;

status = napi_create_function (env, NULL, 0, MyFunction, NULL, & fn);if (status! = napi_ok) {napi_throw_error (env, NULL, "Невозможно перенести нативную функцию");}

status = napi_set_named_property (env, exports, "my_function", fn);
if (status! = Napi_ok) {napi_throw_error (env, NULL, "Невозможно заполнить экспорт");}

возврат экспорта;}

NAPI_MODULE (NODE_GYP_MODULE_NAME, Init)

// они сказали, что это на node_api.h, я даже не редактирую оригинальный файл.это убивает меня внутри.

1 Ответ

0 голосов
/ 02 ноября 2018

Mosy, вероятно, вы использовали неправильный символ в имени модуля. Такие hello-world. Символ - запрещен.

...