Заголовки NodeJS в Windows не устанавливаются автоматически

Я использовал установщики NodeJS с официального сайта https://nodejs.org/en/. Для Linux это просто архив, а для Windows это файл .msi.

Проблема в том, что в Linux распакованный архив содержит каталог include/node с uv.h, v8.h и большинством других известных заголовков, а в Windows каталог include не появляется после установки с .msi.

Я попытался использовать команду «npm install node-gyp», но она не установила заголовки. После более глубокого гугления я обнаружил, что у многих людей каким-то образом есть каталог C:\Users\UserName\.node-gyp со всеми заголовками, но у меня его нет.

Вопросы:

  • Как установить «полный» (содержащий заголовки) node-gyp в Windows?
  • Почему «npm install node-gyp» этого не делает?

P. S: Также обнаружил, что некоторые люди получают его с помощью «git clone https://github.com/nodejs/node. ". Действительно ли я должен использовать этот уродливый способ и вручную копировать заголовки из клонированного проекта в свой дом ?? Я предположил, что .msi или «npm install node-gyp» должны выполнить всю работу.


person Alexander Samoylov    schedule 07.06.2018    source источник


Ответы (1)


Обходной путь с использованием заголовков из "git clone"-ed "node\deps" сработал. Однако через несколько дней после того, как я нашел правильное решение, которое заключается в запуске команды

node-gyp configure

Эта команда записала мне в журнал интересный вывод:

gyp http GET https://nodejs.org/dist/v8.11.3/node-v8.11.3-headers.tar.gz

Итак, заголовки фактически доступны на официальном сайте https://nodejs.org/en/download/, но старательно скрыт в пункте меню «Все параметры загрузки» ниже на странице.

В конце «node-gyp configure» создает этот знаменитый каталог C:\Users\UserName\.node-gyp\x.x.x с подкаталогом «include\node» внутри него, и загруженные заголовки размещаются там с правильной структурой.

person Alexander Samoylov    schedule 26.06.2018