Saya masuk ke basis kode Node.js yang mengharuskan saya mengunduh beberapa dependensi melalui NPM, yaitu jQuery.
Dalam mencoba menjalankan npm install jquery
, saya terus mendapatkan kesalahan ini:
Your environment has been set up for using Node.js 0.8.21 (x64) and NPM
C:\Users\Matt Cashatt>npm install jquery
npm http GET https://registry.npmjs.org/jquery
npm http 304 https://registry.npmjs.org/jquery
npm http GET https://registry.npmjs.org/jsdom
npm http GET https://registry.npmjs.org/xmlhttprequest
npm http GET https://registry.npmjs.org/htmlparser/1.7.6
npm http GET https://registry.npmjs.org/location/0.0.1
npm http GET https://registry.npmjs.org/navigator
npm http GET https://registry.npmjs.org/contextify
npm http 304 https://registry.npmjs.org/htmlparser/1.7.6
npm http 304 https://registry.npmjs.org/xmlhttprequest
npm http 304 https://registry.npmjs.org/location/0.0.1
npm http 304 https://registry.npmjs.org/navigator
npm http 304 https://registry.npmjs.org/jsdom
npm http 304 https://registry.npmjs.org/contextify
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/cssom
npm http GET https://registry.npmjs.org/cssstyle
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/bindings
> contextify@0.1.4 install C:\Users\Matt Cashatt\node_modules\jquery\node_module
s\contextify
> node-gyp rebuild
C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify>node "C:\Progr
am Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\b
in\node-gyp.js" rebuild
npm http 304 https://registry.npmjs.org/cssstyle
npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/request
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 (C:\Program Files\nodejs\node_modules\npm\nod
e_modules\node-gyp\lib\configure.js:113:14)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:82:11
gyp ERR! stack at Object.oncomplete (fs.js:297:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
les\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify
gyp ERR! node -v v0.8.21
gyp ERR! node-gyp -v v0.8.4
gyp ERR! not ok
npm ERR! error rolling back Error: ENOTEMPTY, rmdir 'C:\Users\Matt Cashatt\node_
modules\jquery\node_modules\jsdom\node_modules\request\tests'
npm ERR! error rolling back [email protected] { [Error: ENOTEMPTY, rmdir 'C:\Users\M
att Cashatt\node_modules\jquery\node_modules\jsdom\node_modules\request\tests']
npm ERR! error rolling back errno: 53,
npm ERR! error rolling back code: 'ENOTEMPTY',
npm ERR! error rolling back path: 'C:\\Users\\Matt Cashatt\\node_modules\\jque
ry\\node_modules\\jsdom\\node_modules\\request\\tests' }
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the contextify 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 contextify
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! code ELIFECYCLE
npm ERR! Error: ENOENT, lstat 'C:\Users\Matt Cashatt\node_modules\jquery\node_mo
dules\jsdom\node_modules\request\tests\test-pipes.js'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsdom\node_
modules\request\tests\test-pipes.js
npm ERR! fstream_path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsd
om\node_modules\request\tests\test-pipes.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fst
ream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Users\Matt Cashatt\npm-debug.log
npm ERR! not ok code 0
C:\Users\Matt Cashatt>
Sepertinya kegagalan ini disebabkan oleh instalasi Python yang hilang. Yah, saya sudah menginstal Python, mengatur variabel, dan reboot dan masih kesalahan.
Adakah petunjuk tentang apa yang saya lewatkan?
PYTHON=C:\Python27\Python.exe
di jendela cmd dan reboot, pengaturannya hilang.cmd.exe
jendela, sebelum mencobanpm
perintah, apakah memulaipython
atau%PYTHON%
memulai interpreter Python? Jika tidak, Anda belum mengaturnya dengan benar.Jawaban:
Masalah Anda adalah Anda tidak menyetel variabel lingkungan.
Kesalahannya dengan jelas mengatakan ini:
Dan dalam komentar Anda, Anda mengatakan Anda melakukan ini:
Itu bagus, tetapi itu tidak mengatur
PYTHON
variabel, itu mengaturPYTHONPATH
variabel.Sementara itu, hanya menggunakan
set
perintah hanya memengaruhicmd
sesi saat ini . Jika Anda reboot setelah itu, seperti yang Anda katakan, Anda berakhir dengancmd
sesi baru yang tidak memiliki variabel yang ditetapkan di dalamnya.Ada beberapa cara untuk mengatur variabel lingkungan secara permanen - yang paling mudah adalah di System Control Panel di XP, yang tentu saja berbeda di Vista, berbeda lagi di 7, dan berbeda lagi di 8, tetapi Anda bisa google untuk itu.
Atau, lakukan saja yang
set
benar sebelumnpm
perintah, tanpa me-reboot di antaranya.Anda dapat menguji apakah Anda telah melakukan hal-hal yang benar dengan melakukan hal yang persis sama dengan yang coba dilakukan skrip konfigurasi: Sebelum menjalankan
npm
, coba jalankan%PYTHON%
. Jika Anda melakukannya dengan benar, Anda akan mendapatkan juru bahasa Python (yang dapat langsung Anda hentikan). Jika Anda mendapatkan kesalahan, Anda belum melakukannya dengan benar.Ada dua masalah dengan ini:
Pertama, Anda mengatur
PYTHON
untuk;D:\Python
. Titik koma ekstra baik untuk daftar jalur yang dipisahkan titik koma, sukaPATH
atauPYTHONPATH
, tetapi tidak untuk nilai tunggal sukaPYTHON
. Dan juga, menambahkan nilai baru ke nilai yang ada adalah apa yang Anda inginkan ketika Anda ingin menambahkan jalur lain ke daftar jalur, tetapi tidak untuk nilai tunggal. Jadi, kamu hanya mauset PYTHON=D:\Python
.Kedua,
D:\Python
bukan jalan menuju juru bahasa Python Anda. Itu sepertiD:\Python\Python.exe
, atauD:\Python\bin\Python.exe
. Temukan jalur yang benar, pastikan itu bekerja dengan sendirinya (misalnya, ketikD:\Python\bin\Python.exe
dan pastikan Anda mendapatkan juru bahasa Python), lalu atur variabel dan gunakan.Begitu:
Atau, jika Anda ingin membuatnya permanen, lakukan yang setara di Control Panel.
sumber
D
drive adalah tempat saya memiliki Python jika Anda bertanya-tanya. Sekali lagi terima kasih atas bantuan Anda.set
perintah di jendela perintah NPM untuk beberapa alasan dan kemudian menjalankanmpm install jquery
perintah setelah itu. Jika saya melakukannya secara terpisah, itu tidak berhasil karena suatu alasan.set
perintah hanya mempengaruhicmd
jendela saat ini , jadi Anda harus melakukannya sebelum menjalankannpm
di jendela yang sama. Jika Anda ingin mengatur variabel lingkungan lebih permanen, itu ada di System Control Panel, atau setara dengan versi Windows Anda.Jika Anda belum menginstal python bersama semua dependensi node-gyp, cukup buka Powershell atau Git Bash dengan hak administrator dan jalankan:
dan kemudian menginstal paket:
setelah diinstal, Anda akan memiliki semua dependensi node-gyp diunduh, tetapi Anda masih memerlukan variabel lingkungan. Validasi Python memang ditemukan di folder yang benar:
Catatan - ini menggunakan python 2.7 bukan 3.x karena tidak didukung
Jika tidak mengerang, silakan dan buat variabel lingkungan (pengguna) Anda:
restart cmd, dan verifikasi variabel ada via
set PYTHON
mana harus mengembalikan variabelTerakhir mendaftar ulang
npm install <module>
sumber
setx PYTHON $env:USERPROFILE\.windows-build-tools\python27\python.exe
Bagi saya setelah menginstal windows-build-tools dengan komentar di bawah ini
menjalankan kode di bawah ini
telah bekerja.
sumber
Berikut adalah panduan yang menyelesaikan banyak masalah ini untuk saya.
http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/
Saya ingat khususnya versi python sebagai hal yang penting. Pastikan Anda menginstal 2.7.3 bukannya 3.
sumber
Satu dan / atau banyak dari itu akan membantu:
Tambahkan
C:\Python27\
kePATH
variabel Anda (mengingat Anda telah menginstal Python di direktori ini)Cara mengatur
PATH
variabel env: http://www.computerhope.com/issues/ch000549.htmMulai ulang konsol dan / atau Windows Anda setelah mengatur variabel.
Di bagian yang sama seperti di atas ("Variabel Lingkungan"), tambahkan variabel baru dengan nama
PYTHON
dan nilaiC:\Python27\python.exe
Restart konsol Anda dan / atau Windows setelah pengaturan variabel.
Buka baris perintah Windows (
cmd
) dalam mode Admin .Ubah direktori ke jalur instalasi Python Anda:
cd C:\Python27
Buat symlink diperlukan untuk beberapa instalasi:
mklink python2.7.exe python.exe
Harap dicatat bahwa Anda harus menjalankan Python 2.x, NOT 3.x , untuk dijalankan
node-gyp
instalasi berbasis!Teks di bawah ini mengatakan tentang Unix, tetapi versi Windows juga memerlukan Python 2.x:
Artikel ini juga dapat membantu: https://github.com/nodejs/node-gyp#installation
sumber
Saya memiliki masalah yang sama dan tidak ada jawaban yang membantu. Dalam kasus saya variabel PYTHON diatur dengan benar. Namun python dipasang terlalu dalam, yaitu jalurnya terlalu panjang. Jadi, saya melakukan yang berikut:
Dan itu dia!
sumber
Ini membantu: https://www.npmjs.com/package/node-gyp
Saya mengikuti langkah-langkah ini:
kemudian:
sumber
ada beberapa solusi untuk mengatasi masalah ini: 1) jalankan command prompt Anda sebagai "administrator".
jika solusi pertama tidak menyelesaikan masalah Anda coba yang ini:
2) buka prompt perintah sebagai administrator tempelkan baris kode berikut dan tekan enter:
sumber
TL; DR Buat salinan atau alias dari python.exe Anda dengan nama python2.7.exe
Python 2.7 saya diinstal sebagai
Saya selalu mendapatkan kesalahan ini tidak peduli bagaimana saya mengatur (dan memverifikasi) variabel PYTHON env:
Alasan untuk ini adalah bahwa dalam configure.js node-gyp's executable python diselesaikan seperti:
var python = gyp.opts.python || process.env.PYTHON || 'python'
Dan ternyata gyp.opts.python memiliki nilai 'python2.7' sehingga mengesampingkan process.env.PYTHON.
Saya menyelesaikan ini dengan membuat alias untuk python.exe yang dapat dieksekusi dengan nama node-gyp cari:
D:\app\Python27>mklink python2.7.exe python.exe
Anda memerlukan hak admin untuk operasi ini.
sumber
Berikut ini bekerja untuk saya dari baris perintah sebagai admin:
Menginstal windows-build-tools (ini bisa memakan waktu 15-20 menit):
Menambah / memperbarui variabel lingkungan:
Menginstal node-gyp:
Mengubah nama file exe dari Python ke Python2.7.
npm install module_name --save
sumber
Saya tidak bisa tidak menyebutkan ini. Jika Anda menggunakan Python3 dan gagal dengan node-gyp, maka saya sedih untuk memberitahu Anda node-gyp saat ini tidak mendukung python3.
Berikut ini tautan untuk Anda: https://github.com/nodejs/node-gyp/issues/1268 https://github.com/nodejs/node-gyp/issues/193
sumber
Ini adalah cara termudah untuk membiarkan NPM melakukan segalanya untuk Anda
sumber
Cara yang benar adalah 1) Unduh dan Instal python 2.7.14 dari sini . 2) Tetapkan variabel lingkungan untuk python dari sini .
selesai!
Catatan: Silakan setel variabel lingkungan sesuai. Saya jawab di sini untuk windows.
sumber
Saya bertemu tantangan yang sama ketika mencoba untuk menginstal [email protected] .
Dan setelah melihat dokumentasi resmi saat ini, dan setelah membaca jawaban di atas, saya perhatikan bahwa Anda mungkin tidak perlu menginstal node-gyp atau menginstal alat windows-build. Inilah yang dikatakannya, di sini tentang menginstal node-gyp di windows . Ingat node-gyp terlibat dalam proses instalasi node-sass. Dan Anda tidak benar-benar harus menginstal ulang versi python lain.
Ini adalah penyelamat, konfigurasikan jalur python yang harus dicari oleh "npm" saat menginstal paket apa pun yang memerlukan alat bantu pembangunan.
Saya telah menginstal python3.6.3, di windows-7, di sana.
sumber
[email protected]
, ketika saya beralih kewindows-10
, menggunakan[email protected]
dan[email protected]
Python36/python
seharusnya menjadi path ke file executable python Anda.exe
hold Shift, and Right-Click
dan masukkan ini:npm config set python
Mengapa tidak mengunduh penginstal python di sini ? Itu membuat pekerjaan untuk Anda ketika Anda memeriksa jalur instalasi
sumber
Bagi saya, langkah-langkah ini memperbaiki masalah:
1- Menjalankan cmd ini sebagai admin:
npm install --global --production windows-build-tools
2- Kemudian berjalan
npm rebuild
setelah langkah 1 selesai (terutama menyelesaikan instalasi python 2.7, yang merupakan penyebab utama masalah)sumber
Berikut adalah perintah yang benar: set path =% path%; C: \ Python34 [Ganti dengan path yang benar untuk instalasi python Anda]
Saya memiliki masalah yang sama dan saya baru saja menyelesaikan ini.
Seperti beberapa orang lain tunjukkan, ini adalah konfigurasi yang mudah menguap, ini hanya berfungsi untuk sesi cmd saat ini, dan (jelas) Anda harus mengatur path Anda sebelum menjalankan npm install.
Saya harap ini membantu.
sumber
Tidak perlu menginstal ulang, pengecualian ini dibuang oleh skrip node-gyp, lalu coba untuk membangun kembali. Variabel lingkungan pengaturan cukup seperti dalam kasus saya yang saya lakukan:
sumber
Jika Anda mencoba menggunakan ini di Cygwin, maka Anda harus mengikuti instruksi dalam jawaban ini . (Ini masalah bagaimana Cygwin memperlakukan Windows symlinks.)
sumber
Contoh: pg_config tidak dapat dieksekusi / error node-gyp
Solusi: Di windows coba tambahkan PATH Env -> C: \ Program Files \ PostgreSQL \ 12 \ bin
Bekerja untuk saya, Sekarang saya bisa menggunakan npm saya pg-janji misalnya atau dependensi lainnya.
sumber
pg-promise
Anda tidak perlu ini. Anda mungkin terjebak oleh ini . Cukup gunakan versi terbaru, dan Anda akan baik-baik saja, tidak perlu untuk hal-hal ekstra;)Bagi saya, masalahnya adalah saya menggunakan versi terbaru node dan bukan
LTS
versi yang merupakan versi stabil dan direkomendasikan untuk sebagian besar pengguna.Menggunakan
LTS
Versi memecahkan masalah.Anda dapat mengunduh dari sini:
Versi LTS
Versi Terbaru Saat Ini
sumber