NodeJS - Помилка встановлення з NPM


197
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

> buffertools@2.0.1 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! buffertools@2.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the buffertools@2.0.1 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 - Caress . Але я не в змозі. Я використовую Windows 8.1, хтось може мені сказати, з якою проблемою я стикаюся, і чому ця установка не працює. Здається, є проблема із залежністю буферних інструментів, наскільки я можу подумати. Не знаєте, як, можливо, це виправити?

Якщо я завантажую збірку з github і розміщую її у вузлових модулях, здається, нічого не працює. коли я намагаюся запустити, використовуючи npm start або під час впровадження будь-якого.

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

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

> caress-server@0.1.1 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! caress-server@0.1.1 start: `node examples/server.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the caress-server@0.1.1 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>

змінну env не було встановлено. dsnt також працювати з цим. pastebin.com/jBXwi63a
Shaurya Chaudhuri

Відповіді:


365
Як коментується нижче, можливо, вам не знадобиться встановлювати VS на windows, перевірте це

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

ОНОВЛЕНО 02/2016

Потрібно node-gypвстановити деякі плагін npm .

Однак node-gypє свої власні залежності ( зі сторінки github ):

введіть тут опис зображення

ОНОВЛЕНО 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/isissue/809#issuecomment-155019383

Видаліть каталог $ HOME / .node-gyp і повторіть спробу.

Повну документацію дивіться тут: node-gyp


Тому коли я встановлюю його на вікно Linux. Що робити замість ms vc ++? І я отримую це, коли я робив усі згадані речі. - pastebin.com/LgJEKFFS
Shaurya Chaudhuri

Правильний інструмент для компіляції C / C ++, як GCC:sudo apt-get install g++
Ilan Frumer,

1
@IlanFrumer о, я б віддав перевагу Linux в будь-який час, але іноді мені доводиться встановлювати програми на сервер клієнта ..
Спок

4
Хіба це не вирішиться встановленням компілятора C ++, що не залежить від VS, встановленого в Windows? Хіба таке неможливо знайти? Я збентежений.
jcollum

1
Дякую за підтримку, хлопці, працює для мене. Лише порада: запустіть як адміністратор у Windows
MuriloMittmann

16

Переконайтеся, що у вас є все необхідне програмне забезпечення для запуску node-gyp:

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

Приклади:

  • набір GYP_MSVS_VERSION=2012для Visual Studio 2012
  • набір GYP_MSVS_VERSION=2013e("e" означає БЕЗКОШТОВНУ "експрес-видання")

Повний список дивіться - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Це все ще болісно для користувачів Windows NodeJS, оскільки передбачається, що у вас встановлена ​​копія Visual Studio, і багато кінцевих користувачів цього ніколи не матимуть. Тож я лобію Joyent, щоб заохочувати їх включати веб-сокети як частину вузла CORE, а також для можливого надсилання компілятора GNU gcc як частину установки NodeJS, щоб ми могли остаточно усунути цю проблему.

Сміливо додайте свій голос за:


4
Мені (нарешті) довелося це працювати з виданням VS 2015 Community. Я у вікні 10, 64 біт. Я використовував "npm config set msvs_version 2015 -g" у командному рядку (звичайно після встановлення VS). Більшість людей, які з часом стикаються з цією проблемою, пропонують VS2010, а іноді і до 2013 року, але я вирішив принаймні мою поточну проблему з вузлом-gyp з VS2015. Мені довелося також "npm install -g sigmund" і вручну встановити "lru-cache" від Github. Первісна проблема полягала в тому, щоб встановити "Utf-8-Validate" як залежність проби Aurelia.
Матьє Леблан

10

У мене виникла проблема з помилкою:

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-розрядна; Цигвін; оболонка цигун баш

Використана команда, яка призвела до помилки : npm install -g karma

Помилка : gyp ERR! налаштування помилки gyp ERR! Помилка стека: Неможливо знайти виконуваний Python "python", ви можете встановити змінну PYT HON ​​env.

Відкриття : 'який python' на bash shell чітко показує '/ usr / bin / python'. Тепер це дратує!

Рішення : Це стосується лише тих, хто використовує навколишнє середовище, аналогічне тому, що я маю, тобто використовує цигвін та баш-шелл. Сподіваємось, це допомагає і в інших умовах, але пам’ятайте, що ваш чайник може виглядати трохи інакше, ніж мій.

  1. По-перше, потрібно встановити змінну оболонки $ PYTHON env у .bashrc, використовуючи явний шлях Windows до виконуваного файлу python, а не unix, як кореневий шлях (/ usr / bin), що використовується cygwin.
  2. По-друге, і цей взяв багато проб / помилок, і ось готча! Cygwin встановлює python під / usr / bin (який справді є дзеркалом / bin для Windows) з версією, тобто (в моїй системі) /usr/bin/python2.7.exe, а потім додає посилання / usr / bin / python -> python2.7.exe. Проблема полягає в тому, що gyp не може перейти за цим посиланням і продовжує видавати докучливу помилку, що він не може знайти python, навіть якщо ви можете знайти його добре з командного рядка оболонки.
  3. За допомогою наведеного вище тексту тепер додайте наступний рядок у свій .bashrc

export PYTHON = "C: /cygwin64/bin/python2.7.exe (або будь-яка версія у вашій системі)"

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

Зараз вам буде добре, і gyp знайде пітон виконуваним.

Я сподіваюся, що це допоможе комусь спотикатися з того самого чи подібного питання.


Саме це вирішило мою проблему за допомогою GitBash 2.6.3 у Windows
Скотт Оффен

3

повинні мати можливість отримати усі node-gyp залежності залежно від шоколаду для Windows

choco install python2
choco install visualstudioexpress2013windowsdesktop

2

Налаштуйте середовище JavaScript

1. Встановіть Node.js

Завантажте інсталятор на веб-сайті NodeJs. Ви можете завантажити останню версію V6

2. Оновити Npm

Npm встановлюється разом з Node.js. Тому не хвилюйтесь.

3. Встановіть Anaconda

Anaconda - це провідна платформа з відкритих даних, що працює на базі Python. Версія Anaconda з відкритим кодом - це високопродуктивний розподіл Python. Це може допомогти вам керувати залежністю від пітона. Ви можете використовувати його для створення різних середовищ python в майбутньому, якщо ви хочете мати з ним контакт.

Підтримка лише Node-gyp> = Python 2.7 та <Python 3.0

Тому просто встановіть версію 2.7

4. Встановіть Node-gyp

Ви можете встановити за допомогою  npm:

$ npm install -g node-gyp

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

  • У Windows:

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

    • Варіант 2: Встановити інструменти та конфігурацію вручну:

    • Візуальне середовище побудови C ++:

      • Варіант 1: Встановіть  Visual C ++ Build Tools  за допомогою  опції Install за  замовчуванням .
      • Варіант 2: Встановіть  Visual Studio 2015  (або модифікуйте існуючу установку) та виберіть  Загальні інструменти для Visual C ++  під час налаштування. Це також працює з безкоштовними виданнями Community та Express для 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'config' ключ python на відповідне значення:

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

Майбутнє оновлення для Node.js та npm

Завантажте інсталятор з їх офіційного веб-сайту та безпосередньо встановіть його. Інсталятор автоматично допоможе вам видалити старі файли.

npm update npm

Майбутнє оновлення для Python

conda update --all


1

Для користувачів Cygwin:

Проблема python при використанні npmв нестандартній установці Cygwin полягає в тому node-gyp, що виникає помилкова помилка через неповну перевірку ../npm/node_modules/node-gyp/lib/configure.jsкоду.

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

Існує (принаймні) два способи вирішити це.

  1. Встановлення пакету Cygwin cygutils-extraта використання winln.
  2. Використовуйте рідну Windows CMD в режимі адміністратора.

Для ( 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

1

Для вікон

Перевірте шлях python у системній змінній. Для установки плагінів npm потрібен node-gyp.

відкрити командний рядок з правами адміністратора та виконати наступну команду.

npm install --global --виробництво windows-build-інструментів

npm install - глобальний node-gyp


0

gyp ERR! налаштування помилки gyp ERR! Помилка стека: Неможливо знайти виконуваний Python "python", ви можете встановити змінну PYT HON ​​env.

Це означає, що Python env. змінна повинна вказувати на виконуваний файл python, в моєму випадку: SET PYTHON=C:\work\_env\Python27\python.exe


0

для мене рішення було:

rm -rf  ~/.node_gyp and
sudo npm install -g node-gyp@3.4.0
cd /usr/local/lib sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib 
brew install gcc
npm install


0

На питання вже відповіли, але в моєму випадку це не працює, це альпійська ОС 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


0

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


Чи можете ви пояснити, як це краща відповідь, ніж інші 11, які вже є тут?
Стівен Рауч

Привіт Стефане, напевно, це не краще, але так, за мінімальні кроки, які працювали на мене.
brajesh jaishwal

0

Виправлено за допомогою пониження вершини від v12.8.1 до v11.15.0 і все встановлено успішно

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.