Nvm-windows: npm gagal: "Tidak dapat menemukan modul 'semver' (node ​​v8.4.0)

Dibuat pada 15 Sep 2017  ·  39Komentar  ·  Sumber: coreybutler/nvm-windows

Jika ini adalah pertanyaan tentang cara menggunakan NVM4W, gunakan stackoverflow sebagai gantinya.

Jika ini adalah masalah terkait antivirus, pastikan Anda mencari masalah yang ada terlebih dahulu.

Lingkungan Saya

  • [] Windows 7 atau lebih rendah (tidak benar-benar didukung karena EOL - lihat wiki untuk detailnya)
  • [ ] Windows 8
  • [ ] Windows 8.1
  • [X] Windows 10
  • [] Windows 10 IoT Core
  • [] Windows Server 2012
  • [] Windows Server 2012 R2
  • [] Windows Server 2016

  • [] Penginstalan Windows saya bukan bahasa Inggris.

Saya menggunakan versi NVM4W:

  • [] 1.1.6
  • [X] 1.1.5
  • [] 1.1.4
  • [] 1.1.3
  • [] 1.1.2
  • [] 1.1.1
  • [] Lebih tua
  • [ ] Lainnya (sebutkan)

Aku sudah...

  • [X] baca README untuk mengetahui masalah npm gotchas & antivirus.
  • [X] meninjau wiki untuk memastikan masalah saya belum terselesaikan.
  • [X] diverifikasi Saya menggunakan akun dengan hak administratif.
  • [X] menelusuri masalah (terbuka dan tertutup) untuk memastikan ini bukan duplikat.
  • [X] memastikan ini bukan pertanyaan tentang cara menggunakan NVM untuk Windows, karena gitter digunakan untuk pertanyaan dan komentar.

Masalah saya terkait dengan (hanya centang yang sesuai):

  • [] settings.txt
  • [] dukungan proxy (Sudahkah Anda mencoba versi 1.1.0+?)
  • [] Dukungan 32 atau 64 bit (Sudahkah Anda mencoba versi 1.1.3+?)
  • [] Karakter melarikan diri (Sudahkah Anda mencoba versi 1.1.6+?)
  • [X] Lingkungan shell standar (terminal / PowerShell)
  • [] Lingkungan shell non-standar (Cmder, Hyper, Cygwin, git)

Perilaku yang Diharapkan

Kembalikan nomor versi yang benar.

Perilaku Sebenarnya

module.js: 491
melempar kesalahan;
^

Kesalahan: Tidak dapat menemukan modul 'semver'
di Function.Module._resolveFilename (module.js: 489: 15)
di Function.Module._load (module.js: 439: 25)
di Module.require (module.js: 517: 17)
di membutuhkan (internal / module.js: 11: 18)
di Object.(C: \ Users \ leofu \ AppData \ Roaming \ nvm \ nvm \ v8.4.0 \ node_modules \ npm \ lib \ utils \ unsupported.js: 2: 14)
di Module._compile (module.js: 573: 30)
di Object.Module._extensions..js (module.js: 584: 10)
di Module.load (module.js: 507: 32)
di tryModuleLoad (module.js: 470: 12)
di Function.Module._load (module.js: 462: 3)
module.js: 491
melempar kesalahan;
^

Kesalahan: Tidak dapat menemukan modul 'semver'
di Function.Module._resolveFilename (module.js: 489: 15)
di Function.Module._load (module.js: 439: 25)
di Module.require (module.js: 517: 17)
di membutuhkan (internal / module.js: 11: 18)
di Object.(C: \ Users \ leofu \ AppData \ Roaming \ nvm \ nvm \ v8.4.0 \ node_modules \ npm \ lib \ utils \ unsupported.js: 2: 14)
di Module._compile (module.js: 573: 30)
di Object.Module._extensions..js (module.js: 584: 10)
di Module.load (module.js: 507: 32)
di tryModuleLoad (module.js: 470: 12)
di Function.Module._load (module.js: 462: 3)

Langkah-langkah untuk mereproduksi masalah:

nvm install 8.4.0
nvm menggunakan 8.4.0
npm -v

help wanted

Komentar yang paling membantu

Sama di 8.8.1 terbaru.
Tidak yakin bagaimana memperbaikinya melalui NVM karena apa yang disarankan SO hanyalah instal ulang node yang bersih. Mengingat sifat dari pemasangan nvm tidak yakin bagaimana mereplikasi langkah-langkah ini. Jadi satu-satunya cara untuk menggunakan node v8 adalah dengan tidak menggunakan NVM?
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver

Solusi

  1. nvm install 8.8.1 (atau versi lain yang Anda inginkan). Jangan beralih ke itu (dulu).
  2. Unduh * .zip dari versi node yang sama dari situs resmi (https://nodejs.org/en/download/current/)
  3. Gantikan konten %APPDATA%/nvm/v8.8.1/npm untuk folder npm dari arsip yang diunduh
  4. nvm use 8.8.1
  5. Nikmati

Semua 39 komentar

Ini adalah kesalahan npm, bukan sepenuhnya kesalahan NVM. Saya menyarankan untuk menginstal ulang node 8.4.0 .... mungkin unduhan npm buruk atau ada yang rusak.

@coreybutler Itu tidak akan bekerja, terus gagal bahkan menonaktifkan, mencopot, secara manual menghapus folder, menginstal ulang dan mengaktifkan kembali. Kesalahan yang sama.

Saya bahkan menyalin dependensi node_modules npm dari instalasi normal node 8.5.0 lainnya yang berfungsi dan masih mengalami masalah. Bisakah Anda memeriksanya lebih dalam, dan melihat apa masalahnya?

NVM adalah alat yang sangat berguna tetapi tidak berfungsi lagi, dan sangat disayangkan :(

Tidak yakin harus memberi tahu Anda apa .... Saya dapat menginstal semver dengan pengaturan yang sama.

image

@coreybutler baru saja membuka masalah baru dengan detailnya

Lingkungan saya sendiri dan langkah-langkah yang saya gunakan untuk mereplikasi masalah di sini (duplikat tertutup): # 305

Sama di 8.8.1 terbaru.
Tidak yakin bagaimana memperbaikinya melalui NVM karena apa yang disarankan SO hanyalah instal ulang node yang bersih. Mengingat sifat dari pemasangan nvm tidak yakin bagaimana mereplikasi langkah-langkah ini. Jadi satu-satunya cara untuk menggunakan node v8 adalah dengan tidak menggunakan NVM?
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver

Solusi

  1. nvm install 8.8.1 (atau versi lain yang Anda inginkan). Jangan beralih ke itu (dulu).
  2. Unduh * .zip dari versi node yang sama dari situs resmi (https://nodejs.org/en/download/current/)
  3. Gantikan konten %APPDATA%/nvm/v8.8.1/npm untuk folder npm dari arsip yang diunduh
  4. nvm use 8.8.1
  5. Nikmati

terima kasih @ roman-spiridonov baru saja menemukan bug yang sama pada node 8.8.1 yang diinstal melalui nvm di windows dan solusi Anda tampaknya melakukan pekerjaan itu

Tampaknya juga bekerja menggunakan versi node terbaru (9.1.0).

Tampaknya npm thats diinstal dari npm tidak kompatibel dengan node itu sendiri, Anda harus mengunduh zip dan mengganti modul npm seperti yang disarankan @ roman-spiridonov

@ Coreybutler apakah ini tidak akan dibahas? Saya melihat kesalahan yang sama persis - apa pun di atas = <8.0.

Sayangnya, saya tidak dapat menjalankan npm i semver Saya mendapatkan kesalahan yang sama.

@ roman-spiridonov Saya tidak menemukan bahwa "npm" adalah folder, tetapi file dalam .zip yang diunduh. Menggantinya dengan yang diunduh tampaknya tidak menyelesaikan masalah semver bagi saya (saya tahu orang lain telah berhasil)

Saya memiliki masalah yang sama.

Solusi @ roman-spiridonov berhasil untuk saya.

node 8.9.1
npm 5.5.1

@hyndsite Anda perlu melihat ke dalam direktori node_modules - di dalamnya ada direktori npm . Gunakan itu dan itu harus berhasil.

Terima kasih @powellian Saya menemukan itu kemarin dan akan memposting pembaruan baru ke pesan @ roman-spiridonov - bahwa jalur yang benar adalah %APPDATA%/nvm/v8.8.1/node_modules/npm

File "npm" di jalur /nvm/vx.xx membantu mengacaukan masalah ini.

Terima kasih, berhasil, Tapi sekarang saya bertanya-tanya mengapa paket yang diunduh nvm & yang kita unduh berbeda?

Masalah yang sama dengan 8.9.0 dan solusi @ roman-spiridonov menyelamatkan hari itu.

Seperti @benavern saya penasaran kenapa paket nvm install berbeda dari yang ada di repo resmi.

Sama di 8.9.4 terbaru.
Kesalahan diselesaikan dengan menghapus direktori 'C: \ Users \ yourname \ AppData \ Roamingnvm \ v *' dan menjalankan kembali 'nvm install'.

Solusi:

Jika Anda mengalami masalah ini dan Anda menggunakan Windows 10, aktifkan jalur panjang menggunakan Editor Registri atau Editor Kebijakan Grup Lokal.

Ref: https://github.com/coreybutler/nvm-windows/issues/305#issuecomment -345024594
Ref: https://superuser.com/a/1119948

Tetapi bagi saya, saya masih perlu melakukan solusi @ roman-spiridonov. Namun, saya tidak dapat menyalin folder npm di Explorer, sebagai gantinya saya perlu menggunakan robocopy:

robocopy "C:\Users\username\Downloads\node-v8.9.4-win-x64\node_modules\npm" "C:\Users\username\AppData\Roaming\nvm\v8.9.4\node_modules\npm" /mir

alternatifnya untuk memindahkan root nvm. lakukan nvm root C:\nvm sebelum menginstal node baru.
mungkin juga perlu menyalin file tambahan ke root baru.
jika sudah terpasang, maka:

nvm uninstall 8.x.x
nvm root C:\nvm
copy /Y %APPDATA%\nvm\* C:\nvm
nvm install 8.x.x

Saya mengalami masalah yang sama (Kesalahan: Tidak dapat menemukan modul 'semver').

Beberapa petunjuk untuk membantu Anda:

Perbandingan file (menggunakan file zip resmi) menunjukkan bahwa memang ada> 4k file dan folder yang hilang di bawah node_modules\npm . Sepertinya membuka ritsleting dibatalkan. Dicentang untuk v8.9.1 dan v8.9.4: semua node_modules secara alfabet di belakang libnpx tidak ada. Tidak heran jika ini terkait dengan struktur folder bertingkat yang konyol itu: ...\nvm\v8.9.4\node_modules\npm\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish\

Saya mengambil master nvm-windows saat ini, menambahkan beberapa informasi debug ke fungsi instal dalam nvm.go , mengkompilasinya (dengan Go 1.10 win x64) dan menukar nvm.exe dengan yang baru. Hasil:

  • File zip npm yang diunduh ke direktori temp _is_ sebenarnya adalah file resmi. (@Benavern, @Akamaozu)
  • File zip sepenuhnya diekstrak dalam direktori temp dan dipindahkan ke folder khusus versi. Tidak ada file yang hilang.

Sekarang untuk bagian yang mengejutkan, ketika saya mencoba menemukan regresi:

  • Memeriksa tag 1.1.6, dikompilasi (tanpa perubahan apa pun), mengganti nvm.exe dengan yang baru, menghapus v8.9.4, menjalankan nvm install 8.9.4 => berhasil, tidak ada file yang hilang
  • Memeriksa tag 1.1.5, dikompilasi (tanpa perubahan apa pun), mengganti nvm.exe dengan yang baru, menghapus v8.9.4, menjalankan nvm install 8.9.4 => berhasil, tidak ada file yang hilang
  • Mengganti nvm.exe dengan yang asli dari pengaturan resmi nvm-windows (1.1.5), menghapus v8.9.4, menjalankan nvm install 8.9.4 => masih error , file hilang.

Menurut saya, ada masalah dengan proses pembuatan dan / atau lingkungan.

Akan lebih bagus jika orang lain dapat mencoba jika membuat ulang nvm.exe melalui build.bat atau go build src/nvm.go menyelesaikan masalah untuknya juga.

HTH, codeshell

Hapus folder npm dari folder di bawah ini
C: \ Usersusername \ AppData \ Roamingnpm
setelah => npm instal
Ini Bekerja dengan Baik untuk saya! ....

Baru saja mengalami masalah ini hari ini dan ini berhasil untuk saya.
1) Buka terminal bash
2) CD ke dalam C: \ Usersusername \ AppData \ Roamingnpm \ node_modules \
3) harus melihat package.json
4) pemasangan benang

@codeshell Terima kasih atas analisis Anda. Saya menemukan masalah ini karena jalur panjang yang tidak didukung di Windows. Bagi saya bahkan setelah mengunduh file zip npm dan mengganti konten C: \ Users \ yourname \ AppData \ Roamingnvm \ 9.11.1npm saya mendapat kesalahan. Sebenarnya saya tidak bisa menyalin semua file dari file zip npm yang diunduh karena nama yang panjang.

Untuk menghindari hal ini, saya mencopot pemasangan node versi 9.11.1, kemudian mencopot pemasangan nvm. Menginstal ulang nvm di C: nvm. Sekarang 'nvm install 9.11.1' normal saya berfungsi dengan baik dan 'npm' juga dalam keadaan baik dikonfirmasi dengan menjalankan 'npm -v'.

Saya tahu ini adalah perbaikan yang cukup drastis tetapi hanya perlu dilakukan satu kali.

Saya mengikuti langkah-langkah ini dan itu memecahkan masalah saya

  1. hapus instalan Node.js
  2. Hapus konten dari folder berikut ini
    C: \ Users \\ AppData \ Roamingnpm-cache
    C: \ Users \\ AppData \ Roamingnpm
    C: \ Program Files \ nodejs
  3. Kemudian instal lagi Node _ https://nodejs.org/en/_

menginstal node melalui nvm 1.6.0 bekerja untuk saya

Dalam kasus saya, jalurnya terlalu panjang. Saya memilih c: nvm sebagai manajer versi direktori instal dan c: \ nodejs untuk direktori symlink. Itu sepertinya menyelesaikan masalah bagi saya.

Saya memiliki masalah yang sama dengan node v10.4.0 dan solusi dari roman-spiridonov berhasil untuk saya.

Saya telah menghapus %AppData%\npm dll. Sebelum menginstal nvm-windows.

Mencoba mengaktifkan dan menjalankan 10.4.1, mengalami masalah pada awalnya.

Dapat berfungsi setelah menghapus folder dari lokasi pemasangan secara manual dan menginstal melalui nvm lagi. Tidak yakin apakah ini jalur yang terlalu panjang (jelas bukan) C:\Users\muser\AppData\Roaming\nvm\v10.4.1 .

Masalah yang sama dengan v10.5.0 dan solusi roman-spiridonov juga bekerja untuk saya.

Saya memiliki masalah yang sama saat menginstal node terbaru v10.6.0, lalu saya baru saja mencopotnya dan beralih ke v8.11.3, masalah terpecahkan.

Saya juga mencoba mengunduh langsung npm-v6.1.0.zip, itu memang memiliki beberapa kesalahan saat membuka ritsleting.

Mengalami masalah yang sama seperti @shadeofgod dengan 10.6.0. Beralih ke 8.11.3 menyelesaikannya.

Masalah tetap ada dengan 10.6.0-64bit untuk instalasi pertama yang bersih dan lengkap. (tidak ada node / npm sebelumnya). solusi roman-spiridonovs terus berfungsi (bagi saya npm-folder sekarang dapat ditemukan di [...node]\node_modules\npm )

Mengapa ini masih menjadi masalah setelah hampir satu tahun penuh?

Baru saja mengalami masalah ini di Windows 10.

Mengaktifkan jalur panjang Win32 memperbaiki masalah. Lihat postingan dari @apptaro (2018-02-15)

Setelah mengaktifkan jalur panjang, saya mem-boot ulang Windows agar perubahan diterapkan.
Saya juga harus menghapus instalasi npm rusak secara manual.

Setelah itu, saya dapat menginstal npm lagi menggunakan nvm .

Saya merasa, nvm bawah Windows harus mengeluarkan peringatan jika jalur panjang tidak diaktifkan. nvm install juga tidak boleh gagal secara diam-diam.

Untuk saya:

  • nvm install 9.11.2 adalah versi terakhir yang saya temukan yang bekerja melalui nvm.
  • Penimpaan dengan file zip dari situs web dapat dilakukan pada versi apa pun.
  • Perbaikan jalur panjang tampaknya tidak berhasil (meskipun saya rasa saya tidak mencoba menghidupkan ulang mesin setelah mengubah pengaturan registri).

Ini adalah skrip PowerShell yang kami gunakan untuk pemula baru. Mudah-mudahan setelah reboot mereka harus bisa update ke versi yang lebih baru adalah idenya.

# Get Chocolatey which is required for the rest of this script
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation
choco upgrade chocolatey

choco upgrade nvm
$env:NVM_HOME = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_HOME","Machine"))
$env:NVM_SYMLINK = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_SYMLINK","Machine"))
$env:Path = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))

# Enable long paths in windows - may avoid npm issue https://github.com/coreybutler/nvm-windows/issues/302
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\ControlSet001\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null

nvm install 9.11.2
nvm use 9.11.2

Tidak yakin harus memberi tahu Anda apa .... Saya dapat menginstal semver dengan pengaturan yang sama.

image

Saya pikir menjalankan "npm install" akan menyelesaikan masalah, seperti yang terjadi pada saya;)

Saya yakin @momochanmo baru saja lupa menginstal paket semver di proyek mereka. Ini memiliki pesan kesalahan yang sama tetapi ini adalah masalah yang sama sekali berbeda.

Ringkasan: Utas ini adalah tentang fakta bahwa nvm menginstal versi npm yang rusak dengan versi paket semver yang hilang / rusak, yang membuatnya tidak dapat dioperasikan.

Penyebab utama yang paling mungkin disarankan sejauh ini adalah bahwa bug / perubahan perilaku yang dimasukkan ke dalam kompiler Go sekitar 3 tahun yang lalu menyebabkan kesalahan yang diam-diam tertelan selama instalasi. Lihat https://github.com/coreybutler/nvm-windows/pull/370.

Jadi, jika Anda mengenal seseorang yang bekerja dengan barang-barang Windows dan antusias dengan Go, sekarang saat yang tepat untuk membantu mereka dan menawarkan kesempatan pengembangan karir yang luar biasa ini 😅

Saya mengikuti langkah-langkah ini dan itu memecahkan masalah saya

  1. hapus instalan Node.js
  2. Hapus konten dari folder berikut ini
    C: \ Pengguna\ AppData \ Roamingnpm-cache
    C: \ Pengguna\ AppData \ Roamingnpm
    C: \ Program Files \ nodejs
  3. Kemudian instal lagi Node _ https://nodejs.org/en/_

Mengikuti ini berhasil untuk saya. Anda adalah penyelamat hidup !!!!! terima kasih <3

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

leiamac picture leiamac  ·  4Komentar

petrovicz picture petrovicz  ·  4Komentar

Deilan picture Deilan  ·  4Komentar

janpio picture janpio  ·  3Komentar

David263 picture David263  ·  3Komentar