NodeJS - Ошибка при установке с помощью NPM

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>npm install caress-server
npm http GET https://registry.npmjs.org/caress-server
npm http 304 https://registry.npmjs.org/caress-server
npm http GET https://registry.npmjs.org/jspack/0.0.1
npm http GET https://registry.npmjs.org/buffertools
npm http 304 https://registry.npmjs.org/jspack/0.0.1
npm http 304 https://registry.npmjs.org/buffertools

> [email protected] install C:\Windows\system32\node_modules\caress-server\node_
modules\buffertools
> node-gyp rebuild


C:\Windows\system32\node_modules\caress-server\node_modules\buffertools>node "G:
\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-
gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at failNoPython (G:\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:101:14)
gyp ERR! stack     at G:\nodejs\node_modules\npm\node_modules\node-gyp\lib\confi
gure.js:64:11
gyp ERR! stack     at Object.oncomplete (fs.js:107:15)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "G:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\
bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Windows\system32\node_modules\caress-server\node_modules\buffert
ools
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the buffertools package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls buffertools
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n
pm-cli.js" "install" "caress-server"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

C:\Windows\system32>

Я устанавливаю определенный NodeJS script - Caress. Но я не могу. Я использую Windows 8.1, может ли кто-нибудь сказать мне, в чем проблема, с которой я столкнулся, и почему эта установка не работает. Кажется, что существует проблема с зависимостью buffertools, что, насколько я могу думать. Не знаете, как это исправить?

Если я загружу сборку из github и поместил ее в node -modules, ничего не работает. когда я пытаюсь начать, используя запуск npm или во время реализации.

G:\nodejs\node_modules\caress-server>npm install

G:\nodejs\node_modules\caress-server>npm start

> [email protected] start G:\nodejs\node_modules\caress-server
> node examples/server.js

   info  - socket.io started

module.js:340
    throw err;
          ^
Error: Cannot find module './build/Release/buffertools.node'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (G:\nodejs\node_modules\caress-server\node_modules\buf
fertools\buffertools.js:16:19)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

npm ERR! [email protected] start: `node examples/server.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the caress-server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node examples/server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls caress-server
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n
pm-cli.js" "start"
npm ERR! cwd G:\nodejs\node_modules\caress-server
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     G:\nodejs\node_modules\caress-server\npm-debug.log
npm ERR! not ok code 0

G:\nodejs\node_modules\caress-server>

Ответ 1

Как указано ниже, вам может не потребоваться установка VS на Windows, проверьте это

https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245

ОБНОВЛЕНО 02/2016

Некоторые плагины npm должны быть установлены node-gyp.

Однако node-gyp имеет свои зависимости (со страницы github):

enter image description here

ОБНОВЛЕНО 09/2016

Если вы используете Windows, теперь вы можете установить все зависимости node-gyp с помощью одной команды (ПРИМЕЧАНИЕ. Запуск от имени администратора в Windows PowerShell):

 $ npm install --global --production windows-build-tools

и затем установите пакет

 $ npm install --global node-gyp

ОБНОВЛЕНО 06/2018

https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383

Удалите каталог $ HOME/.node-gyp и повторите попытку.

Смотрите полную документацию здесь: node-gyp

Ответ 2

Убедитесь, что у вас есть все необходимое программное обеспечение для запуска node-gyp:

Вы можете настроить версию Visual Studio, используемую node-gyp, с помощью переменной окружения, чтобы избежать необходимости устанавливать свойство --msvs_version=2012 каждый раз, когда вы устанавливаете npm.

Примеры:

  • set GYP_MSVS_VERSION=2012 для Visual Studio 2012
  • set GYP_MSVS_VERSION=2013e ('e' означает FREE 'express edition')

Полный список см. в разделе  - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Это все еще больно для пользователей Windows из NodeJS, поскольку предполагает, что у вас есть установленная копия Visual Studio, и у многих конечных пользователей этого никогда не будет. Поэтому я лоббирую Joyent, чтобы побудить их включать веб-сокеты как часть CORE node, а также для возможного отправки компилятора GNU gcc в составе установки NodeJS, чтобы мы могли надолго исправить эту проблему.

Не стесняйтесь добавить свой голос:

Ответ 3

Я столкнулся с проблемой с ошибкой:

gyp ERR! configure error

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

Вот что я делал и что, наконец, работало.

Отказ от ответственности. Я просто получаю свои руки в Node, Angular после многих лет в мире Java, Linux среди других...

Описание среды: Windows 8.1 64-бит; Cygwin; cygwin bash shell

Используемая команда, которая привела к ошибке: npm install -g karma

Ошибка: gyp ERR! ошибка конфигурации gyp ERR! stack Ошибка: не удается найти исполняемый Python "python", вы можете установить PYT HON env.

Discovery: ', в котором python' на bash оболочке явно отображается '/usr/bin/python'. Теперь это раздражает!

Решение. Это применимо только для тех, кто использует среду, похожую на то, что у меня есть, то есть с помощью cygwin и оболочки bash. Надеюсь, что это поможет и в других средах, но имейте в виду, что чайный чай может выглядеть немного иначе, чем мой.

  • Во-первых, нужно установить переменную env в переменную $PYTHON в .bashrc, используя явный путь к исполняемому файлу python, а не как unix-корневой путь (/usr/bin), используемый cygwin.
  • Во-вторых, и это заняло много проб/ошибок, и вот тут! Cygwin устанавливает python под /usr/bin (который действительно является зеркалом /bin в окнах) с версией, то есть (в моей системе)/usr/bin/python2.7.exe, а затем добавляет ссылку /usr/bin/python → python2.7.exe. Проблема в том, что gyp не может следовать этой ссылке и продолжает давать раздражающую ошибку, что она не может найти python, даже если вы можете найти ее просто отлично из командной строки оболочки.
  • С приведенным выше фоном добавьте следующую строку в ваш .bashrc

export PYTHON = "C:/cygwin64/bin/python2.7.exe(или что-то другое в вашей системе)"

  1. Теперь отправьте свой .bashrc из своего домашнего каталога (на cygwin) → 'source.bashrc'

Теперь вы должны быть в порядке, и gyp найдет исполняемый файл python.

Я надеюсь, что это поможет кому-то споткнуться о той же или подобной проблеме.

Ответ 4

должен иметь возможность получить все зависимости node -gyp с помощью chocolatey для Windows

choco install python2
choco install visualstudioexpress2013windowsdesktop

Ответ 5

Настройка среды JavaScript

1. Установите Node.js

Загрузите программу установки на веб-сайте NodeJs. Вы можете загрузить последнюю версию V6

2. Обновление Npm

Npm устанавливается вместе с Node.js. Поэтому не беспокойтесь.

3. Установите Anaconda

Anaconda - ведущая открытая научная платформа для данных, основанная на Python. Версия Anaconda с открытым исходным кодом - это высокопроизводительное распределение Python. Это может помочь вам управлять вашей зависимостью от python. Вы можете использовать его для создания другой среды python в дальнейшем, если вы хотите коснуться его.

Node -gyp only support >= Python 2.7 и < Python 3.0

Так что просто установите версию 2.7

4. Установите Node -gyp

Вы можете установить с помощью npm:

$ npm install -g node-gyp

Вам также потребуется установить:

  • В Windows:

    • Вариант 1: установите все необходимые инструменты и конфигурации с помощью windows-build-tools Microsoft, используя npm install --global --production windows-build-tools из повышенного PowerShell или CMD.exe(выполняется как администратор).

    • Вариант 2: вручную установите инструменты и настройки:

    • Среда Visual С++ Build:

      • Вариант 1: установите Visual С++ Build Tools с помощью параметра Установка по умолчанию.
      • Вариант 2. Установите Visual Studio 2015 (или измените существующую установку) и выберите "Общие инструменты для Visual С++" во время установки. Это также работает с бесплатными версиями Community и Express for Desktop.

      💡 [Только для Windows Vista/7] требуется .NET Framework 4.5.1

    • Запустите cmd, npm config set msvs_version 2015

    Если приведенные выше шаги не сработали для вас, посетите дополнительные Microsoft Node.js Рекомендации для Windows.

Если у вас установлено несколько версий Python, вы можете определить, какую версию Python node-gyp использовать, установив переменную "-python":

$ node-gyp --python C:/Anaconda2/python.exe

Если node-gyp вызывается с помощью npm и у вас установлено несколько версий Python, вы можете установить ключ конфигурации npm 'python' в соответствующее значение:

$ npm config set python C:/Anaconda2/python.exe

Будущее обновление для Node.js и npm

Загрузите программу установки с официального сайта и установите ее прямо. Программа установки автоматически поможет вам удалить старые файлы.

npm update npm

Будущее обновление для Python

conda update --all

Ответ 6

Для пользователей Cygwin:

Проблема с python с использованием npm по установленной Cygwin-установке заключается в том, что node-gyp дает ложную ошибку из-за неполной проверки кода ../npm/node_modules/node-gyp/lib/configure.js.

Это связано с тем, как Cygwin рассматривает символические ссылки. Он не делает это должным образом в готовой установке. Таким образом, сообщения об ошибках из вышеуказанного кода становятся вводящими в заблуждение, поскольку он жалуется на путь PYTHON, а не на существование самого файла python.exe (или ссылки).

Есть (по крайней мере) два способа решить эту проблему.

  • Установка пакета Cygwin cygutils-extra и использование winln.
  • Используйте собственный CMD-ключ Windows в режиме администратора.

Для (1) вы можете создать правильную символическую ссылку из оболочки Cygwin, выполнив следующие шаги:

# To make the Cygwin environment treat Windows links properly: 
# Alternatively add this to your `.bashrc` for permanent use.
export CYGWIN=winsymlinks:nativestrict

# Install Cygwin package containing "winln"
apt-cyg install cygutils-extra

# Make a proper Windows sym-link:
cd /cygdrive/c/cygwin64/bin/
winln.exe -s python2.7.exe python.exe

# Add PYTHON as a native Windows system wide variable (HKLM) 
setx /M PYTHON "C:\cygwin64\bin\python"

(Также предполагается, что вы используете оболочку Cygwin в качестве администратора). Рекомендуется использовать apt-cyg и может быть найден в различных формах на github.


Для (2) разрешение для пользователей Cygwin из коробки:

# Open a native Windows CMD in Administrator mode and:
cd C:\cygwin64\bin\
mklink python.exe python2.7.exe

Результат должен выглядеть так:

C:\cygwin64\bin>ls -al python*
lrwxrwxrwx 1 xxx            xxx   13 Jun  2  2015 python -> python2.7.exe
lrwxrwxrwx 1 Administrators xxx   13 Aug 24 17:28 python.exe -> python2.7.exe
lrwxrwxrwx 1 xxx            xxx   13 Jun  2  2015 python2 -> python2.7.exe
-rwxr-xr-x 1 xxx            xxx 9235 Jun  2  2015 python2.7.exe

Ответ 7

Для окон

Проверьте путь python в системной переменной. Для модулей npm требуется установить node -gyp.

откройте командную строку с правами администратора и выполните следующую команду.

npm install --global --production windows-build-tools

npm install --global node -gyp

Ответ 8

gyp ERR! настроить ошибку gyp ERR! stack Ошибка: не удается найти Python исполняемый "python", вы можете установить переменную env PYT HON.

Это означает, что Python env. переменная должна указывать на исполняемый файл python, в моем случае: SET PYTHON=C:\work\_env\Python27\python.exe

Ответ 9

для меня решение было:

rm -rf  ~/.node_gyp and
sudo npm install -g [email protected]
cd /usr/local/lib sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib 
brew install gcc
npm install

Ответ 10

Я устанавливал appium с помощью npm install -g appium и получал ту же ошибку в Windows 10.

Ниже команда работала для меня:

npm --add-python-to-path='true' --debug install --global windows-build-tools

https://github.com/felixrieseberg/windows-build-tools/issues/33

Ответ 11

На вопрос уже дан ответ, но он не работал в моем случае, который представляет собой ОС на базе Alpine Linux, так что, возможно, это поможет кому-то еще.

Я также получаю ту же ошибку

gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

Так что исправьте одной строкой, просто добавьте это, если вы работаете в Dockerfile или установите его в ОС

apk add --no-cache python nodejs

в Ubuntu

sudo apt-get install python3.6

Примечание: версия узла: 8

Ответ 12

установить node-gyp и c++ компилятор (gcc- c++).

Ответ 13

Исправлено понижение Node с v12.8.1 до v11.15.0 и все успешно установлено