NodeJS - NPM ile yükleme hatası


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>

Belirli bir NodeJS betiği yüklüyorum - Caress . Ama yapamıyorum. Windows 8.1 kullanıyorum, kimse bana karşı karşıya olduğum sorunun ne olduğunu ve bu kurulum neden çalışmıyor söyleyebilir. Buffertools bağımlılığı ile ilgili bir sorun var gibi görünüyor, bu kadarıyla düşünüyorum. Bunu nasıl düzeltebileceğimi bilmiyor musun?

Eğer yapıyı github'dan indirip düğüm modüllerine yerleştirirsem, hiçbir şey işe yaramaz gibi görünüyor. başlatmaya çalıştığımda, npm start kullanarak ya da uygulama sırasında.

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 değişkeni ayarlanmadı. dsnt onunla da çalışır. pastebin.com/jBXwi63a
Shaurya Chaudhuri

Yanıtlar:


365
Aşağıda yorumlandığı gibi VS'yi pencerelere yüklemeniz gerekmeyebilir, buna göz atın

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

GÜNCELLEME 02/2016

Bazı npm eklentilerinin node-gypyüklenmesi gerekir.

Ancak, node-gypkendi bağımlılıkları vardır ( github sayfasından ):

resim açıklamasını buraya girin

GÜNCELLEME 09/2016

Windows kullanıyorsanız artık tüm node-gypbağımlılıkları tek komutla yükleyebilirsiniz (NOT: Windows PowerShell'de Yönetici Olarak Çalıştır):

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

ve sonra paketi yükle

 $ npm install --global node-gyp

GÜNCELLEME 06/2018

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

$ HOME / .node-gyp dizininizi silin ve tekrar deneyin.

Tüm belgelere buradan bakın: node-gyp


Yani bir linux kutusuna yüklediğimde. Ms vc ++ yerine ne yapmalıyım? Ve bahsettiğin her şeyi yaptığımda bunu alıyorum. - pastebin.com/LgJEKFFS
Shaurya Chaudhuri

GCC gibi uygun bir C / C ++ derleyici araç zinciri:sudo apt-get install g++
Ilan Frumer

1
@IlanFrumer oh Linux'u her zaman tercih ederim, ama bazen bir müşterinin sunucusuna uygulamalar yüklemem gerekiyor ..
Spock

4
Bu, Windows'ta VS'ye bağımlı olmayan bir C ++ derleyicisinin yüklü olmasıyla çözülemez mi? Böyle bir şey bulmak imkansız mı? Kafam karıştı.
jcollum

1
Destek için teşekkürler çocuklar, benim için çalışıyor. Sadece bir ipucu: Windows'ta yönetici olarak çalıştır
MuriloMittmann

16

Çalıştırmak için gerekli tüm yazılımlara sahip olduğunuzdan emin olun node-gyp:

node-gypBir ortam değişkeni tarafından kullanılan Visual Studio sürümünü yapılandırabilirsiniz, böylece --msvs_version=2012her npm yüklemesi yaptığınızda özelliği ayarlamak zorunda kalmazsınız.

Örnekler:

  • GYP_MSVS_VERSION=2012Studio 2012 için ayarlandı
  • set GYP_MSVS_VERSION=2013e('e' ÜCRETSİZ 'ekspres baskı' anlamına gelir)

Tam liste için bkz. - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Bu, Visual Studio'nun bir kopyasının yüklü olduğunu ve birçok son kullanıcının asla buna sahip olmayacağını varsaydığı için NodeJS'nin Windows kullanıcıları için hala acı vericidir. Bu yüzden, CORE düğümünün bir parçası olarak web soketlerini eklemelerini ve NodeJS kurulumunun bir parçası olarak bir GNU gcc derleyicisini göndermelerini teşvik etmek için Joyent'i lobi yapıyoruz, böylece bu sorunu kalıcı olarak çözebiliriz.

Oyunuzu şu adreste eklemek için çekinmeyin:


4
VS 2015 Community sürümü ile çalışmamı sağladım. Pencere 10, 64 bit'deyim. Komut isteminde (VS kurulumundan sonra, elbette) "npm config set msvs_version 2015 -g" kullandım. Zamanla bu sorundan düşen çoğu insan VS2010 veya bazen 2013'e kadar önerdi, ancak en azından VS2015 ile ilgili mevcut düğüm-gyp sorunumu çözdüm. Ben "npm install -g sigmund" ve manuel olarak Github "lru-cache" yüklemek zorunda kaldı. Asıl sorun Aurelia örneğinin bağımlılığı olarak "Utf-8-Validate" kurulmasıydı.
Mathieu Leblanc

10

Şu hatayla ilgili sorunla karşılaştım:

gyp ERR! configure error

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

İşte yaptığım ve sonunda neyin işe yaradığı.

Feragatname : Java, Linux dünyasında yıllar geçtikçe ellerimi Düğüm, Angular'a sokuyorum ...

Ortam Açıklaması : Windows 8.1 64-bit; Cygwin; cygwin bash kabuğu

Hataya neden olan komut kullanıldı : npm install -g karma

Hata : gyp ERR! hata gyp ERR yapılandırmak! yığın Hatası: Python yürütülebilir "python" bulunamıyor, PYT HON ​​env değişkenini ayarlayabilirsiniz.

Keşif : bash kabuğundaki 'hangi python' açıkça '/ usr / bin / python' gösterir. Şimdi bu sinir bozucu!

Çözüm : Bu yalnızca sahip olduğum ortamlara benzer ortam kullananlara, yani cygwin ve bash kabuğunu kullananlara uygulanabilir. Umarım diğer ortamlarda da yardımcı olur, ancak çaydanlıklarınızın benimkinden biraz farklı olabileceğini unutmayın.

  1. Öncelikle, .gashrc dosyasındaki $ PYTHON kabuk env değişkenini, cygwin tarafından kullanılan unix benzeri kök yolunu (/ usr / bin) değil, python yürütülebilir dosyasının açık pencere yolunu kullanarak ayarlamanız gerekir.
  2. İkincisi, ve bu çok deneme / hata aldı ve işte burada! Cygwin, python'u / usr / bin altına (gerçekten Windows'ta / bin'nin bir yansımasıdır), yani (sistemimde) /usr/bin/python2.7.exe sürümüyle kurar ve daha sonra bir bağlantı / usr / bin / python -> python2.7.exe dosyasını seçin. Sorun şu ki, gyp bu bağlantıyı takip edemez ve kabuk komut satırından iyi bulmanıza rağmen python bulamadığı can sıkıcı bir hata vermeye devam ediyor.
  3. Yukarıdaki arka planla şimdi .bashrc'nize aşağıdaki satırı ekleyin

export PYTHON = "C: /cygwin64/bin/python2.7.exe (veya sisteminizdeki sürüm ne ise)"

  1. Şimdi .bashrc'nizi ana dizininizden kaynaklayın (cygwin'de) -> 'source .bashrc'

Şimdi iyi olmalısın ve gyp python'u çalıştırılabilir bulacaktır.

Umarım bu, aynı veya benzer bir konuda tökezleyen birine yardımcı olur.


Windows'ta GitBash 2.6.3'ü kullanma sorunumu çözen budur
Scott Offen

3

chocolatey for Windows ile tüm düğüm-gyp bağımlılıklarını alabilmelidir

choco install python2
choco install visualstudioexpress2013windowsdesktop

2

JavaScript Ortamını Kur

1. Node.js dosyasını yükleyin

NodeJs web sitesinden yükleyiciyi indirin. En son V6'yı indirebilirsiniz

2. Güncelleme Npm

Npm, Node.js ile birlikte yüklenir. Yani endişelenme.

3. Anaconda'yı yükleyin

Anaconda, Python tarafından desteklenen lider açık veri bilimi platformudur. Anaconda'nın açık kaynaklı versiyonu, Python'un yüksek performanslı dağılımıdır. Python bağımlılığınızı yönetmenize yardımcı olabilir. Eğer dokunmak istiyorsanız daha sonra farklı python ortamı oluşturmak için kullanabilirsiniz.

Yalnızca düğüm-gyp desteği> = Python 2.7 ve <Python 3.0

Bu yüzden sadece 2.7 sürümünü yükleyin

4. Node-gyp'i yükleyin

Şunlarla yükleyebilirsiniz  npm:

$ npm install -g node-gyp

Ayrıca şunları da kurmanız gerekir:

  • Windows'ta:

    • Seçenek 1:  Yükseltilmiş bir PowerShell veya CMD.exe (Yönetici olarak çalıştır) kullanarak Microsoft'un Windows derleme araçlarını  kullanarak  gerekli tüm araçları ve yapılandırmaları yükleyin  npm install --global --production windows-build-tools.

    • 2. Seçenek: Araçları ve yapılandırmayı elle yükleyin:

    • Visual C ++ Derleme Ortamı:

      • Seçenek 1:  Visual C ++ Derleme Araçlarını Varsayılan Yükleme'yi  kullanarak  yükleme  seçeneğini .
      • Seçenek 2: Visual Studio 2015'i yükleyin   (veya varolan bir yüklemeyi değiştirin) ve  kurulum sırasında Visual C ++ için Ortak Araçlar'ı seçin  . Bu, ücretsiz Community ve Express for Desktop sürümleriyle de çalışır.

      💡 [Yalnızca Windows Vista / 7] için  .NET Framework 4.5.1 gerekir

    • Cmd'yi başlat, npm config set msvs_version 2015

    Yukarıdaki adımlar işe yaramadıysa,  ek ipuçları için lütfen Microsoft'un Node.js Windows Yönergeleri'ni ziyaret edin  .

Birden fazla Python sürümü yüklüyse, node-gyp '--python' değişkenini ayarlayarak hangi Python sürümünün  kullanıldığını belirleyebilirsiniz:

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

Bu  node-gyp arada çağrılırsa  npm ve  Python'un birden çok sürümü yüklüyse, npm's' python 'yapılandırma anahtarını uygun değere ayarlayabilirsiniz  :

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

Node.js ve npm için gelecekteki güncelleme

Yükleyiciyi resmi web sitesinden indirin ve doğrudan yükleyin. Yükleyici, eski dosyaları kaldırmanıza otomatik olarak yardımcı olacaktır.

npm update npm

Python için gelecekteki güncelleme

conda update --all


1

Cygwin kullanıcıları için:

Kullanıma npmhazır bir Cygwin kurulumunda kullanılan python sorunu, cihazdaki eksik kontrol nedeniyle node-gypyanıltıcı bir hata vermektir .../npm/node_modules/node-gyp/lib/configure.js koddaki .

Cygwin'in sembolik bağlantıları nasıl ele aldığından kaynaklanıyor. Kullanıma hazır bir kurulumda bunu düzgün yapmaz. Bu nedenle, yukarıdaki koddaki hata mesajları, dosyanın kendisinden (veya bağlantısından) PYTHONdeğil, yoldan şikayet ettiğinden yanıltıcı hale gelir python.exe.

Bunu çözmenin (en az) 2 yolu vardır.

  1. Cygwin paketini kurma cygutils-extrave kullanma winln.
  2. Yönetici modunda yerel Windows CMD kullanın.

( 1 ) için, aşağıdaki adımları uygulayarak Cygwin kabuğundan uygun bir sembolik bağlantı oluşturabilirsiniz:

# 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"

(Ayrıca Cygwin kabuğunu Yönetici olarak çalıştırdığınızı varsayarsak.) Kullanılması apt-cygönerilir ve github'da çeşitli şekillerde bulunabilir.


( 2 ) hazır Cygwin kullanıcıları için çözünürlük şudur:

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

Sonuç şöyle görünmelidir:

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

Pencereler için

Sistem değişkenindeki python yolunu kontrol edin. npm eklentilerinin kurulması için nod-gyp gereklidir.

Yönetici haklarına sahip komut istemini açın ve aşağıdaki komutu çalıştırın.

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

npm install - küresel düğüm-gyp


0

gyp ERR! hata gyp ERR yapılandırmak! yığın Hatası: Python yürütülebilir "python" bulunamıyor, PYT HON ​​env değişkenini ayarlayabilirsiniz.

Bu Python env. değişken benim durumumda, yürütülebilir python dosyasına işaret etmelidir: SET PYTHON=C:\work\_env\Python27\python.exe


0

benim için çözüm şuydu:

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

Soru zaten cevaplandı, ancak bunlar Alp Linux tabanlı işletim sistemi olan benim durumumda çalışmıyor, bu yüzden belki bu başka birine yardımcı olur.

Aynı hatayı alıyordum

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

Bu nedenle, Dockerfile'da çalışıyorsanız veya işletim sistemine yüklerseniz bunu tek satırla düzeltin

apk add --no-cache python nodejs

Ubuntu'da

sudo apt-get install python3.6

Not: Düğüm sürümü: 8


0

node-gyp ve c ++ derleyicisini (gcc-c ++) yükleyin.


Bunun, burada bulunan diğer 11 kişiden daha iyi bir cevap olduğunu açıklayabilir misiniz?
Stephen Rauch

Merhaba Stephan, kesinlikle daha iyi değil, ama evet benim için işe yarayan minimal adımlarla.
brajesh jaishwal

0

Düğümün v12.8.1'den v11.15.0'a düşürülmesiyle düzeltildi ve her şey başarıyla yüklendi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.