npm-cli.js tidak ditemukan saat menjalankan npm

91

Biasanya saya dapat menginstal perpustakaan menggunakan npm tetapi hari ini ketika menginstal yeoman saya mengalami kesalahan ini. Tolong bantu untuk mencari tahu apa akar penyebabnya.

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

Saya melihat ke dalam folder:

C: \ Program Files \ nodejs \ node_modules \ npm \ bin \

tetapi tidak melihat folder node_modules seperti yang dijelaskan dengan kesalahan.

Saya juga mencoba mencari npm-cli.js dan melihatnya benar-benar masukC:\Program Files\nodejs\node_modules\npm\bin\

pengguna1192476
sumber
ketika Anda menginstal node?
Mritunjay
1
Maaf, saya lupa telah menginstal ulang node untuk memperbaiki kesalahan ini sehingga tidak ada folder node_modules sekarang. Tetapi sebelumnya saya juga memeriksa C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_mod ules \ tetapi tidak melihat folder npm di dalamnya.
pengguna1192476
Saya punya jawaban untuk ini. Akan memposting setelah 8 jam. Terima kasih.
pengguna1192476

Jawaban:

105

Ternyata masalah tersebut disebabkan oleh jalur node yang salah dalam variabel sistem. Jalurnya sekarang mengarah ke

(Saya benar-benar tidak tahu kapan saya memodifikasinya)

C:\Program Files\nodejs\node_modules\npm\bin

jadi saya berubah menjadi

C:\Program Files\nodejs

dan itu bekerja seperti pesona.

pengguna1192476
sumber
16
Punya masalah yang sama. Tidak pernah mengubah jalur, jadi saya menduga ini pasti terjadi ketika saya meningkatkan Node.
Nils Magne Lunde
Saya pikir bagi saya masalah mulai terjadi ketika saya menginstal Electron :(
Charles Walker
4
dimana kamu mengubah ini? file apa?
CodeToad
1
Variabel lingkungan.
Crozeta
Pada versi terbaru, setelah meningkatkan, Anda mungkin melihat kedua jalur pada variabel lingkungan Anda, dan yang lama (C: \ Users \ YOUR_USER \ AppData \ Roaming \ npm) lebih diutamakan daripada yang baru (C: \ Program Files \ nodejs ). Menghapus yang pertama memecahkan masalah bagi saya.
Shahroq
45

Anda perlu menjalankan ini di baris perintah.

SET PATH=C:\Program Files\Nodejs;%PATH%
Prathap Kudupu
sumber
bash shell di windows
Prathap Kudupu
Saya mengalami masalah ini saat mengupgrade versi node saya. Solusi Anda bekerja dengan sempurna untuk saya. Saya tidak perlu menghapus node_modulesfolder apa pun
AllJs
1
Senang bisa membantu
Prathap Kudupu
Saya harus memindahkan jalur ini lebih jauh untuk memberikan prioritas yang lebih tinggi setelah mencoba memperbarui npm menggunakan npm (npm -i npm).
Corey Alix
26

Anda mungkin juga memiliki masalah ini jika di jalan Anda Anda memiliki C:\Program Files\nodejsdan C:\Program Files\nodejs\node_modules\npm\bin. Hapus yang terakhir dari jalan

Peter Sun
sumber
4
di jalan mana?
CodeToad
18

Saya baru saja memperbaiki instalasi NodeJS saya dan berhasil untuk saya!

Pergi ke Control Panel\All Control Panel Items\Programs and Features-> temukan NodeJSdan pilih opsi perbaikan untuk memperbaikinya. Semoga ini membantu.

3AK
sumber
1
Ini berfungsi untuk saya, tetapi ini disebut "aplikasi dan fitur" di windows 10.
PeonProgrammer
Tidak ada folder npm di node_modules dalam kasus saya dan yang saya lakukan hanyalah menjalankan perintah npm install express, memperbaikinya membantu.
Lalit Fauzdar
Terima kasih untuk ini! masalah saya teratasi setelah memperbaiki Nodejs di bawah 'aplikasi dan fitur' di pc windows saya!
missjcohen
18

Salin direktori bernama npmdari jalur node yang Anda instal (Dalam kasus saya, direktori npm tersedia di C:\Program Files\nodejs\node_modules).

Arahkan ke C:\Users\%USERNAME%\AppData\Roaming\npm\node_modulesdan tempel npmdirektori yang disalin di sana.

Metode ini berfungsi untuk saya ketika saya mengalami kesalahan yang sama. . .

Manoj
sumber
3
Terima kasih, ini berfungsi dengan baik setelah peningkatan mengacaukan instalasi NPM saya dan perbaikan dan instal ulang tidak memperbaikinya.
Slbox
Di file mana kami ingin membuat perubahan ini. Mohon panduan
Ibad Shaikh
14

Ini bukan kasus yang sama seperti di pertanyaan, tetapi mungkin berguna untuk seseorang yang menghadapi masalah serupa. Di Windows, jika Anda memanggil npmperintah dari beberapa alat CI / otomatisasi, Anda mungkin mengalami kesalahan:

Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'

di mana SOME_PATHbukan Program Files/...tetapi beberapa direktori proyek sebagai gantinya. Jadi npm mencoba menemukan npm-cli.js di dalam direktori root proyek alih-alih mencarinya di Program Files/nodejs.

Alasannya adalah skrip npm.cmd:

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)


SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

Skrip ini digunakan %~dp0untuk mencari npm-cli.js tetapi beberapa alat otomasi dapat menyetel direktori kerja dengan cara yang %~dp0mengarah ke direktori proyek lokal sehingga skrip tidak berfungsi dengan benar.

Salah satu solusi yang mungkin adalah mengubah panggilan npm dari ini

npm.cmd install

untuk ini

cmd.exe /c npm.cmd install
admax
sumber
Jika Anda perlu mengatur WorkingDirectory untuk menjalankan perintah install di direktori tertentu, ini tidak menyelesaikan masalah
Daniel Fisher lennybacon
Apa yang berhasil bagi saya adalah menjalankan direktori perubahan dengan perintah npm sesudahnya: "cmd.exe" / c cd / d "T: \ TfsAgent_work \ 1 \ s \ src \ WebHost \" && "C: \ Program Files \ nodejs \ npm.cmd "install
Daniel Fisher lennybacon
7

Tidak ada jawaban lain yang berhasil untuk saya.

Inilah yang saya tulis (di shell git bash di windows):

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman
edi9999
sumber
7

Saya mengalami masalah yang sama dengan node 8.5 saat diinstal dengan nvm. Solusi di bawah ini berhasil untuk saya

$ nvm uninstall 8.5
8.5.0
Uninstalling node v8.5.0...Error removing node v8.5.0
Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0.

$ nvm install 8.5
8.5.0
Downloading node.js version 8.5.0 (64-bit)...
Complete
Creating C:\Users\Omkar\AppData\Roaming\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.5.0

Omkar@VAST-0137 MINGW64 /d/code

Ini bekerja untuk saya karena node 8.5 tidak diinstal dengan benar sebelumnya dengan nvm. Saya mengetahuinya karena folder dan file "npm \ bin \ npm-cli.js" tidak dibuat di dalam node_modules sebelumnya.

olagu
sumber
Jalan saya tampak baik-baik saja; Copot Pemasangan / Pasang ulang menyelesaikan masalah untuk saya.
Mark Maslar
Saya mengalami beberapa masalah aneh dengan node lama bahkan ketika saya beralih ke versi yang lebih baru. Jadi saya menghapus node lama dan menginstal ulang baru lagi. Dengan cara ini saya memperbaiki masalah dengan cli :) terima kasih
Andrej Gaspar
5

Di Mac:

Saya menjalankan ini dari Plugin Maven com.github.eirslett Frontend ketika saya mengalami kesalahan yang sama.

Akhirnya saya harus:

Instal Node.js melalui penginstal unduh di sini: http://nodejs.org/

Hapus semua folder node/dan node_modules/dari dalam struktur build maven saya.

RedYeti
sumber
2
Sepertinya ini telah diperbaiki dengan versi plugin frontend yang lebih baru: github.com/eirslett/frontend-maven-plugin/issues/147
Noremac
5

Selain di atas saya harus menghapus C:\Users\%USERNAME%\AppData\Roaming\npmjuga. Ini membantu.

Romko
sumber
1
Di sistem saya, di situlah paket global berada; jika Anda menghapusnya dari jalur maka Anda mungkin tidak lagi dapat menjalankan
gulp
5

Jangan ubah variabel lingkungan apa pun

Itu adalah penginstal yang menyebabkan masalah dan tidak menginstal semua file yang diperlukan.

Saya baru saja memperbaiki pengaturan NODEJS di windows 7 dan bekerja dengan sangat baik. Mungkin Anda dapat menginstal ulang, hanya memetikan sesuatu tidak berfungsi.

TARJU
sumber
4

Sebenarnya ada 2 jalur yang ditambahkan ke Variabel Sistem Anda saat meningkatkan ke versi terbaru nodejs.
1. C: \ Program Files \ nodejs
2. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
Untuk pengguna windows 7/8 / 8.1, mereka tidak akan memiliki GUI pintar Windows 10 Variabel Lingkungan.
Bagaimanapun, yang harus Anda lakukan adalah mencari "C:\Program Files\nodejs\node_modules\npm\bin"dan menghapusnya.
Juga, hapus "C:\Users\%USERNAME%\AppData\Roaming\npm"dari variabel lingkungan Anda. Saya memposting jawaban ini karena saya menyia-nyiakan 10 jam saya untuk mencari solusi di internet. Dengan menggabungkan jawaban di atas, saya akhirnya berhasil mengatasi masalah tersebut.

hamzox
sumber
4

Ini mulai terjadi pada saya setelah saya menginstal GoogleChrome / puppeteer , solusinya adalah menginstal ulang npm:

$ npm i npm@latest

atau

$ npm install npm@latest
Mythz
sumber
2

Tidak ada solusi di sini yang berhasil untuk saya, tetapi setelah saya memulai ulang sistem saya dan melakukannya npm installlagi, itu berhasil. Saya akan menebak satu atau lebih proses yang saya jalankan sebelum menahannya.

Restart PC sederhana di Windows 10 melakukan keajaiban bagi saya!

papigee
sumber
Bekerja untuk saya juga! Kesalahan dimulai mungkin setelah pembaruan Win10
Arno van Oordt
2

Saya memiliki masalah yang sama di windows. Saya baru saja memperbaiki Node dan berfungsi dengan baik setelah restart perintah di windows.

Halo Universe
sumber
2

Saya tahu ini adalah posting yang lebih lama tetapi ketika saya menulis ini, versi Node js adalah 12.13.1. Orang-orang menghadapi ini umumnya karena mereka mungkin telah menginstal versi Node js sebelumnya yang menambahkan yang berikut ini ke jalur sistem.

C: \ Program Files \ nodejs \ node_modules \ npm \ bin

Namun, versi yang lebih baru perlu menambahkan yang berikut ini: -

C: \ Program Files \ nodejs

Maksud saya untuk mengatakan jalur tempat Anda menginstal Nodejs. Standarnya adalah

C: \ Program Files \ nodejs

Namun, jika Anda memberikan lokasi yang berbeda, Anda harus mengarahkannya ke sana.

Mengkode binatang itu
sumber
1

jalankan saja perintah ini:

npm i npm@latest -g
AissaDevLab
sumber
Selamat datang di Stack Overflow! Bisakah Anda menguraikan apa yang dilakukan ini dan bagaimana ini menjawab pertanyaan?
node lain
1

npm install -g npm @ [versi] memperbaiki masalah

repo
sumber
1

Di Windows 10:

  1. Tekan tombol windows, ketik edit variabel lingkungan sistem lalu enter.
  2. Klik variabel lingkungan ...
  3. Di bagian bawah jendela yang dibuka dengan judul Variabel Lingkungan di sana Anda akan melihat tabel berjudul Variabel Sistem, dengan dua kolom, yang pertama berjudul variabel.
  4. Temukan baris dengan Path variabel dan klik.
  5. Klik edit yang akan membuka jendela berjudul Edit variabel lingkungan.
  6. Di sini jika Anda menemukannya

C: \ Program Files \ nodejs \ node_modules \ npm \ bin

pilih, dan klik tombol edit di sebelah kanan Anda, lalu edit bidang ke jalur di mana Anda memiliki folder nodejs, dalam kasus saya itu hanya mempersingkatnya menjadi:

C: \ Program Files \ nodejs

Kemudian saya menutup semua terminal cmd atau PowerShell saya, membukanya lagi dan npm berfungsi.

Julio Peguero
sumber
1

Untuk pria yang masih mengetahui utas ini:

  • instal node dari situs resmi (periksa npm dan versi node untuk memeriksa apakah sudah terpasang dengan benar, ya di terminal baru / cmd);
  • instal nvm sekarang dan ketika ditanya apakah mengelola node saat ini dengan nvm klik yes;
  • buka cmd baru dan jalankan nvm.
Keshav Sharma
sumber
Anda tidak perlu menginstal Node dari situs resmi dengan nvm: Anda dapat menginstal Node versi terbaru dengan nvm berjalan nvm install latest.
Marco Lackovic
0

Solusi untuk saya di VS2017 (Di Bawah Alat | Opsi ...)

Di bawah Alat |  Pilihan ...

Saya mengubah jalur ke: C: \ Program Files \ nodejs

Michael Maier
sumber
0

Saya mengalami masalah ini ketika menginstal node9.0.0 di windows7 pada akhirnya solusinya adalah hanya menghapus npm npm.cmd npx npx.cmd dari C: \ Program Files \ nodejs \ node_modules \ npm \ bin sebelum melakukan ini, solusinya adalah jalankan C: \ Program Files \ nodejs \ npm jadi itu salah satu cara jadi lihat apakah Anda memiliki masalah yang sama dengan yang saya alami.

Grifon
sumber
0

buat folder npm secara manual di dalam node_modules dan jalankan kembali penginstal dengan opsi perbaikan. Ini menyalin file yang hilang.

Saurabh Nainwal
sumber
0

Dalam kasus saya, saya menggunakan nvm-windows 1.1.6 , dan saya memperbarui versi nodejs saya menggunakan nvm install latest, yang akhirnya memberi tahu saya bahwa nodejs dan npm diinstal, namun ketika saya mencoba melakukannya npm install, saya menerima

Kesalahan: Tidak dapat menemukan modul 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js'

setelah memeriksa struktur nvm-windows, saya menemukan C:\Program Files\nodejsitu terhubung ke %APPDATA%\nvm\NODE_VERSION, (NODE_VERSION adalah v9.7.1 dalam kasus saya) yang memiliki folder node_modulesyang tidak memiliki apa-apa di dalamnya, menyebabkan kesalahan ini. Solusinya adalah menyalin npmfolder dari salah satu folder versi saya sebelumnya node_modulesdan menempelkannya. Saya kemudian memperbarui npm saya dengan npm install npm@next -gdan semuanya mulai bekerja kembali.

Cemal
sumber
0

Bagi saya tidak ada satu pun di atas yang berhasil, saya hanya memperhatikan bahwa setiap kali saya melakukan "npm install ..." setiap perintah npm berhenti bekerja. Jadi setiap install yang saya lakukan, saya harus menjalankan program instalasi NodeJS dan pilih "repair". Sampai saya menemukan solusi nyata :)

Olivier
sumber
Adalah baik untuk memposting solusi dan juga kami menghargai ini .. Tapi akan lebih baik jika Anda menjelaskan secara logis daripada mengatakannya Secara ajaib bekerja :)
Aousaf rashid
0

Memperbarui NPM ke versi terbaru berhasil untuk saya:

npm install npm@latest -g
Zylo
sumber
0

Ubah variabel jalur lingkungan C: \ Program Files \ nodejs \ node_modules \ npm \ bin dan buka terminal perintah dan npm -v dan

lokesh sharma
sumber
0

Saya mengalami masalah yang sama hari ini di server Linux. Dan alasannya sangat sederhana karena saya tidak melakukannya make installsetelahnya makedan mencoba langsung memanggil yang dihasilkannpm . Dengan demikian PATH dan semuanya berantakan.

Jadi bagi saya, solusinya tinggal lakukan make installsetelah makedan jalankan di npmbawah .node/bin/npm.

Yuan Tao
sumber
0

Kesalahan: Tidak dapat menemukan modul 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_modules \ npm \ bin \ npm-cli.js'

Lihatlah di atas dan jelas bahwa jalannya bermasalah. 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_modules \ npm \ bin \ npm-cli.js' HARUS DIUBAH MENJADI -> 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm -cli.js 'yang berarti bahwa "\ node_modules \ npm \ bin" di antaranya telah digandakan, yang menyebabkan kesalahan yang begitu bodoh. Saya memperbaikinya dengan mengedit Variabel Sistem dan memperbarui PATH seperti yang dijelaskan di atas.

Ben
sumber