Nvm-windows: Tidak dapat menginstal paket npm terbaru

Dibuat pada 13 Des 2019  ·  6Komentar  ·  Sumber: coreybutler/nvm-windows

Pastikan Anda telah meninjau masalah umum dan masalah yang ada sebelum mengirimkan masalah baru.

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

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

Lingkunganku

  • [ ] 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 Inti
  • [ ] Windows Server 2012
  • [ ] Windows Server 2012 R2
  • [ ] Windows Server 2016

  • [ ] Instalasi Windows saya bukan bahasa Inggris.

Saya menggunakan versi NVM4W:

Jalankan nvm version jika Anda tidak tahu.

1.1.7.

Masalah saya terkait dengan (centang hanya yang berlaku):

  • [ ] pengaturan.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

Saya mengharapkan npm-version-windows

Perilaku Sebenarnya

PS C:\WINDOWS\system32> npm install npm-windows-upgrade -g
C:\Program Files\nodejs\npm-windows-upgrade -> C:\Program Files\nodejs\node_modules\npm-windows-upgrade\bin\npm-windows-upgrade.js

  • [email protected]
    menambahkan 72 paket dari 51 kontributor dalam 8.124 detik
    PS C:\WINDOWS\system32> npm-windows-upgrade -p -v terbaru
    npm-windows-upgrade v6.0.1
    Sistem yang diperiksa untuk instalasi npm:
    Menurut PowerShell: C:\Program Files\nodejs
    Menurut npm: C:\Program Files\nodejs
    Memutuskan bahwa npm diinstal di C:\Program Files\nodejs
    Mengupgrade npm...

Memutakhirkan npm (metode fallback)...

Anda ingin menginstal npm 6.13.4, tetapi versi yang diinstal adalah 6.9.0.

Alasan umum adalah upaya "npm install npm" atau "npm upgrade npm". Sampai hari ini, satu-satunya solusi adalah menghapus instalan sepenuhnya dan menginstal ulang Node.js. Untuk tutorial kecil, silakan lihat https://github.com/felixrieseberg/npm-windows-upgrade#usage.

Harap pertimbangkan untuk melaporkan masalah Anda ke https://aka.ms/npm-issues.

Informasi Debug:

simpul: 12.6.0 | v8: 7.5.288.22-node.14 | uv: 1.30.1 | zlib: 1.2.11 | brotli: 1.0.7 | ares: 1.15.0 | modul: 72 | nghttp2: 1.38.0 | napi: 4 | llhttp: 1.1.4 | http_parser: 2.8.0 | openssl: 1.1.1c | cldr: 35.1 | icu: 64.2 | tz: 2019a | unicode: 12.1 | sistem operasi: win32 x64 | Nama OS: Microsoft Windows 10 Enterprise
Versi OS: 10.0.17134 Tidak Ada Build 17134

Langkah-langkah untuk mereproduksi masalah:

Saya ingin mendapatkan paket npm terbaru 6.13.4 [tidak ada masalah keamanan] dengan versi node 12.13.1

Komentar yang paling membantu

Ini berhasil untuk saya, tetapi saya tidak akan bersumpah sebagai jawaban untuk semua orang:

  1. Gunakan nvm install untuk mengatur instalasi node.
  2. Jalankan nvm use untuk mengatur versi saat ini.
  3. Buka versi saat ini di File Explorer. (Dari PowerShell, Anda dapat melakukan ini dengan explorer.exe $env:NVM_SYMLINK . Dari Command Prompt, explorer.exe %NVM_SYMLINK% .)
  4. Hapus file npm, npx, npm.cmd, dan npx.cmd. Saya tidak berpikir ada file ps1 ketika saya mengaturnya, tetapi begitu, hapus juga. Hati-hati. Saya tidak tahu efek penuh dari penghapusan ini jika pemutakhiran gagal. Anda harus menyimpannya di Recycle Bin sehingga Anda dapat memulihkannya atau bersiaplah untuk menginstal ulang versi Node secara penuh jika gagal.
  5. Sekarang setelah skrip dihapus, kita harus memanggil npm sedikit lebih manual. Inilah perintah PowerShell untuk menjalankan perintah pembaruannya:
    node (Join-Path $env:NVM_SYMLINK 'node_modules\npm\lib\npm.js') install -g npm

Ini berhasil untuk saya karena ketika saya menjalankan npm install -g npm , kesalahan yang saya dapatkan adalah bahwa file skrip tingkat atas "di luar" instalasi, yang saya anggap berarti bahwa mereka tidak dikenali sebagai dikelola olehnya. Saya tidak tahu mengapa npm mengira itu tidak mengontrol file-file itu, tetapi begitu mereka keluar, itu diperbarui dengan baik.

Semua 6 komentar

https://nodejs.org/en/blog/vulnerability/december-2019-security-releases/ mencoba mendapatkan versi npm terbaru untuk masalah keamanan ini.

Ini berhasil untuk saya, tetapi saya tidak akan bersumpah sebagai jawaban untuk semua orang:

  1. Gunakan nvm install untuk mengatur instalasi node.
  2. Jalankan nvm use untuk mengatur versi saat ini.
  3. Buka versi saat ini di File Explorer. (Dari PowerShell, Anda dapat melakukan ini dengan explorer.exe $env:NVM_SYMLINK . Dari Command Prompt, explorer.exe %NVM_SYMLINK% .)
  4. Hapus file npm, npx, npm.cmd, dan npx.cmd. Saya tidak berpikir ada file ps1 ketika saya mengaturnya, tetapi begitu, hapus juga. Hati-hati. Saya tidak tahu efek penuh dari penghapusan ini jika pemutakhiran gagal. Anda harus menyimpannya di Recycle Bin sehingga Anda dapat memulihkannya atau bersiaplah untuk menginstal ulang versi Node secara penuh jika gagal.
  5. Sekarang setelah skrip dihapus, kita harus memanggil npm sedikit lebih manual. Inilah perintah PowerShell untuk menjalankan perintah pembaruannya:
    node (Join-Path $env:NVM_SYMLINK 'node_modules\npm\lib\npm.js') install -g npm

Ini berhasil untuk saya karena ketika saya menjalankan npm install -g npm , kesalahan yang saya dapatkan adalah bahwa file skrip tingkat atas "di luar" instalasi, yang saya anggap berarti bahwa mereka tidak dikenali sebagai dikelola olehnya. Saya tidak tahu mengapa npm mengira itu tidak mengontrol file-file itu, tetapi begitu mereka keluar, itu diperbarui dengan baik.

@myty Sekali lagi, saya tidak dapat berbicara untuk semua orang, tetapi npm-windows-upgrade gagal total bagi saya. Pesan kesalahannya bahkan lebih samar dan tidak membantu daripada yang saya dapatkan dari npm install -g npm . (Saya tidak ingat pesan kesalahan yang tepat; saya pikir itu hanya sangat umum.) Mungkin saja kami menghadapi masalah yang berbeda.

Ini juga berfungsi. #300 (komentar)

Ini telah berhasil untuk saya di masa lalu, tetapi sekarang, ketika mencoba memperbarui npm dari 6.13.4 ke 6.13.6 (menggunakan node 12.16.0), saya mendapatkan kesalahan berikut:

npm ERR! code EEXIST
npm ERR! path C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\.bin\semver
npm ERR! Refusing to delete C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\.bin\semver: is outside C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\semver and not a link
npm ERR! File exists: C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\node_modules\.bin\semver
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\johns\AppData\Roaming\npm-cache\_logs\2020-02-18T20_00_16_440Z-debug.log

Adakah orang lain yang mengalami masalah ini dan dapat menyelesaikannya? Saya memang mencoba dengan --force tetapi kesalahan yang sama.

Saya telah menginstal Nodist sebelum nvm-windows. Itu meninggalkan file .npmrc di bawah direktori home ( %userprofile% ). Saya harus menghapusnya dan mencoba perintah nvm use lagi untuk memperbaiki semuanya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat