NodeJS - Kesalahan menginstal dengan 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>

Saya memasang skrip NodeJS tertentu - Caress . Tapi saya tidak bisa. Saya menggunakan Windows 8.1, ada yang bisa memberi tahu saya apa masalah yang saya hadapi, dan mengapa instalasi ini tidak berfungsi. Tampaknya ada masalah dengan dependensi buffertools, itu sejauh yang saya bisa pikirkan. Tidak tahu bagaimana cara memperbaikinya?

Jika saya mengunduh build dari github dan meletakkannya di node-modules, sepertinya tidak ada yang berhasil. ketika saya mencoba untuk memulai, menggunakan mulai npm, atau selama implementasi baik.

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>
Shaurya Chaudhuri
sumber
variabel env tidak diatur. dsnt bekerja dengan itu juga. pastebin.com/jBXwi63a
Shaurya Chaudhuri

Jawaban:

365
Seperti yang dikomentari di bawah ini, Anda mungkin tidak perlu menginstal VS di windows, lihat ini

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

DIPERBARUI 02/2016

Beberapa plugin npm perlu node-gypdiinstal.

Namun, node-gypmemiliki dependensinya sendiri ( dari halaman github ):

masukkan deskripsi gambar di sini

DIPERBARUI 09/2016

Jika Anda menggunakan Windows sekarang Anda dapat menginstal semua node-gypdependensi dengan perintah tunggal (CATATAN: Jalankan Sebagai Admin di Windows PowerShell):

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

dan kemudian instal paket

 $ npm install --global node-gyp

DIPERBARUI 06/2018

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

Hapus direktori $ HOME / .node-gyp Anda dan coba lagi.

Lihat dokumentasi lengkapnya di sini: node-gyp

Ilan Frumer
sumber
Jadi ketika saya menginstalnya di kotak linux. Apa yang saya lakukan sebagai pengganti ms vc ++? Dan saya mendapatkan ini ketika saya melakukan semua hal yang Anda sebutkan. - pastebin.com/LgJEKFFS
Shaurya Chaudhuri
sudo apt-get install g++
Toolchain
1
@IlanFrumer oh saya lebih suka Linux kapan saja, tapi kadang-kadang saya harus menginstal aplikasi pada server pelanggan ..
Spock
4
Bukankah ini akan diselesaikan dengan memiliki kompiler C ++ yang tidak tergantung VS yang diinstal pada Windows? Apakah hal seperti itu mustahil ditemukan? Saya bingung.
jcollum
1
Terima kasih atas dukungan kalian, bekerja untuk saya. Hanya sebuah tip: dijalankan sebagai admin di windows
MuriloMittmann
16

Pastikan Anda memiliki semua perangkat lunak yang diperlukan untuk dijalankan node-gyp:

Anda dapat mengonfigurasi versi Visual Studio yang digunakan node-gypmelalui variabel lingkungan sehingga Anda dapat menghindari keharusan mengatur --msvs_version=2012properti setiap kali Anda melakukan instalasi npm.

Contoh:

  • diatur GYP_MSVS_VERSION=2012untuk Visual Studio 2012
  • set GYP_MSVS_VERSION=2013e('e' adalah singkatan dari 'edisi ekspres' GRATIS)

Untuk daftar lengkapnya lihat - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Ini masih menyakitkan bagi pengguna Windows NodeJS karena mengasumsikan Anda memiliki salinan Visual Studio diinstal dan banyak pengguna akhir tidak akan pernah memilikinya. Jadi saya melobi Joyent untuk mendorong mereka memasukkan soket web sebagai bagian dari simpul CORE dan juga untuk mengirimkan kompiler gcc GNU sebagai bagian dari pemasangan NodeJS sehingga kami dapat memperbaiki masalah ini secara permanen.

Jangan ragu untuk menambahkan suara Anda di:

Tony O'Hagan
sumber
4
Saya baru saja (akhirnya) bekerja dengan edisi Komunitas VS 2015. Saya di Window 10, 64 bit. Saya menggunakan "npm config set msvs_version 2015 -g" di command prompt (setelah instalasi VS, tentu saja). Kebanyakan orang yang jatuh pada masalah ini dari waktu ke waktu menyarankan VS2010, atau kadang-kadang hingga 2013, tapi saya menyelesaikan setidaknya masalah node-gyp saya saat ini dengan VS2015. Saya harus "npm install -g sigmund" dan secara manual menginstal "lru-cache" dari Github, juga. Masalah aslinya adalah untuk menginstal "Utf-8-Validate", sebagai ketergantungan dari sampel Aurelia.
Mathieu Leblanc
10

Saya mengalami masalah dengan kesalahan:

gyp ERR! configure error

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

Inilah yang saya lakukan dan akhirnya berhasil.

Penafian : Saya baru saja mendapatkan Node, Angular setelah bertahun-tahun di dunia Java, Linux antara lain ...

Deskripsi Lingkungan : Windows 8.1 64-bit; Cygwin; cygwin bash shell

Perintah yang digunakan menyebabkan kesalahan : npm install -g karma

Galat : gyp ERR! konfigurasikan galat gyp ERR! stack Error: Tidak dapat menemukan Python executable "python", Anda dapat mengatur variabel env PYT HON.

Penemuan : 'yang python' pada bash shell jelas menunjukkan '/ usr / bin / python'. Nah, itu menjengkelkan!

Solusi : Ini hanya berlaku untuk mereka yang menggunakan lingkungan yang mirip dengan yang saya miliki, yaitu menggunakan cygwin dan bash shell. Semoga itu membantu di lingkungan lain juga, tetapi perlu diingat bahwa ketel teh Anda mungkin terlihat sedikit berbeda dari milik saya.

  1. Pertama, perlu mengatur variabel env shell $ PYTHON di .bashrc menggunakan path windows eksplisit ke python executable dan bukan path unix like root (/ usr / bin) yang digunakan oleh cygwin.
  2. Kedua, dan ini membutuhkan banyak percobaan / kesalahan dan inilah gotcha! Cygwin menginstal python di bawah / usr / bin (yang sebenarnya adalah mirror dari / bin di windows) dengan versi, yaitu (di sistem saya) /usr/bin/python2.7.exe dan kemudian menambahkan tautan / usr / bin / python -> python2.7.exe. Masalahnya adalah bahwa gyp tidak dapat mengikuti tautan ini dan terus memberikan kesalahan yang menjengkelkan bahwa ia tidak dapat menemukan python meskipun Anda dapat menemukannya dengan baik dari baris perintah shell.
  3. Dengan latar belakang di atas sekarang tambahkan baris berikut ke .bashrc Anda

export PYTHON = "C: /cygwin64/bin/python2.7.exe (atau apa pun versi pada sistem Anda)"

  1. Sekarang sumber .bashrc Anda dari direktori home Anda (di cygwin) -> 'source .bashrc'

Anda harus baik-baik saja sekarang dan gyp akan menemukan python dieksekusi.

Saya harap ini membantu seseorang menemukan masalah yang sama atau serupa.

Andy
sumber
Inilah yang memecahkan masalah saya menggunakan GitBash 2.6.3 pada Windows
Scott Offen
3

harus bisa mendapatkan semua dependensi node-gyp dengan cokelat untuk Windows

choco install python2
choco install visualstudioexpress2013windowsdesktop
tarikakyol
sumber
2

Atur Lingkungan JavaScript

1. Instal Node.js

Unduh penginstal di situs web NodeJs. Anda dapat mengunduh V6 terbaru

2. Perbarui Npm

Npm diinstal bersama dengan Node.js. Jadi jangan khawatir.

3. Pasang Anaconda

Anaconda adalah platform ilmu data terbuka terkemuka yang ditenagai oleh Python. Versi open source dari Anaconda adalah distribusi kinerja tinggi Python. Ini dapat membantu Anda mengelola ketergantungan python Anda. Anda dapat menggunakannya untuk membuat lingkungan python yang berbeda di lebih lanjut jika Anda ingin menyentuhnya.

Hanya mendukung Node-gyp> = Python 2.7 dan <Python 3.0

Jadi instal saja versi 2.7

4. Instal Node-gyp

Anda dapat menginstal dengan  npm:

$ npm install -g node-gyp

Anda juga perlu menginstal:

  • Di Windows:

    • Opsi 1: Instal semua alat dan konfigurasi yang diperlukan menggunakan Microsoft  Windows-build-tools  menggunakan  npm install --global --production windows-build-tools dari PowerShell atau CMD.exe (dijalankan sebagai Administrator).

    • Opsi 2: Instal alat dan konfigurasi secara manual:

    • Visual C ++ Build Environment:

      • Opsi 1: Instal  Visual C ++ Build Tools  menggunakan   opsi Instalasi Default .
      • Opsi 2: Instal  Visual Studio 2015  (atau modifikasi instalasi yang ada) dan pilih  Alat Umum untuk Visual C ++  selama pengaturan. Ini juga berfungsi dengan edisi Komunitas dan Express untuk Desktop gratis.

      💡 [Khusus Windows Vista / 7] membutuhkan  .NET Framework 4.5.1

    • Luncurkan cmd, npm config set msvs_version 2015

    Jika langkah-langkah di atas tidak berhasil untuk Anda, silakan kunjungi  Panduan Node.js Microsoft untuk Windows  untuk tips tambahan.

Jika Anda menginstal banyak versi Python, Anda dapat mengidentifikasi versi Python mana yang  node-gyp digunakan dengan mengatur variabel '--python':

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

Jika  node-gyp dipanggil dengan cara  npm dan  Anda memiliki beberapa versi Python diinstal, maka Anda dapat mengatur  npmkunci konfigurasi 'python' ke nilai yang sesuai:

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

Pembaruan masa depan untuk Node.js dan npm

Unduh pemasang dari situs web resmi mereka dan instal langsung. Pemasang otomatis akan membantu Anda menghapus file lama.

npm update npm

Pembaruan masa depan untuk Python

conda update --all

YoongKang Lim
sumber
1

Untuk pengguna Cygwin:

Masalah python dengan menggunakan npmpada instalasi Cygwin out-of-the-box, adalah yang node-gypmemberikan kesalahan menyesatkan karena tidak lengkap memeriksa ../npm/node_modules/node-gyp/lib/configure.jskode.

Itu karena cara Cygwin memperlakukan tautan simbolik. Itu tidak melakukannya dengan benar dalam instalasi out-of-the-box. Jadi pesan kesalahan dari kode di atas menjadi menyesatkan, karena mengeluh tentang PYTHONpath dan bukan keberadaanpython.exe (atau tautan) file itu sendiri.

Ada (setidaknya) 2 cara untuk menyelesaikan ini.

  1. Menginstal paket Cygwin cygutils-extradan menggunakan winln.
  2. Gunakan Windows CMD asli dalam mode Admin.

Untuk ( 1 ) Anda dapat membuat symlink yang tepat dari dalam Cygwin shell dengan melakukan langkah-langkah ini:

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

(Juga dengan asumsi Anda menjalankan shell Cygwin sebagai Admin.) Menggunakan apt-cygdirekomendasikan dan dapat ditemukan dalam berbagai bentuk di github.


Untuk ( 2 ) resolusi untuk pengguna Cygwin out-of-the-box adalah ini:

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

Hasilnya akan terlihat seperti ini:

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
emigenix
sumber
1

Untuk windows

Periksa jalur python dalam variabel sistem. plugin npm membutuhkan node-gyp untuk diinstal.

buka command prompt dengan hak admin, dan jalankan perintah berikut.

npm instal --global --produksi windows-build-tools

npm instal --global node-gyp

Mahesh Gudadari
sumber
0

gyp ERR! konfigurasikan galat gyp ERR! stack Error: Tidak dapat menemukan Python executable "python", Anda dapat mengatur variabel env PYT HON.

Ini berarti Python env. variabel harus mengarah ke file python yang dapat dieksekusi, dalam kasus saya: SET PYTHON=C:\work\_env\Python27\python.exe

Y. Aliaksei
sumber
0

bagi saya solusinya adalah:

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
Orr
sumber
0

Saya menginstal appium oleh npm install -g appium dan mendapatkan kesalahan yang sama pada Windows 10.

Perintah di bawah ini bekerja untuk saya:

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

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

hemanto
sumber
0

Pertanyaannya sudah dijawab tetapi ini tidak bekerja dalam kasus saya yang merupakan OS berbasis Linux alpine jadi mungkin ini membantu orang lain.

Saya juga mendapatkan kesalahan yang sama

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

Jadi perbaiki satu baris saja tambahkan ini jika Anda bekerja di Dockerfile atau menginstalnya di OS

apk add --no-cache python nodejs

di ubuntu

sudo apt-get install python3.6

Catatan: Versi simpul: 8

Adiii
sumber
0

instal node-gyp dan c ++ compiler (gcc-c ++).

brajesh jaishwal
sumber
Bisakah Anda menjelaskan bagaimana ini adalah jawaban yang lebih baik daripada 11 lainnya sudah ada di sini?
Stephen Rauch
Hai Stephan, pasti bukan yang terbaik, tapi ya dalam langkah minimal yang bekerja untuk saya.
brajesh jaishwal
0

Diperbaiki dengan menurunkan Node dari v12.8.1 ke v11.15.0 dan semuanya berhasil diinstal

Maksym
sumber