Nvm-windows: nvm menginstal node tetapi gagal mengirimkan npm

Dibuat pada 3 Jul 2019  ·  47Komentar  ·  Sumber: coreybutler/nvm-windows

Lingkunganku

  • [x] Windows 10

Saya menggunakan versi NVM4W:

  • [x] 1.1.7

Aku sudah...

  • [x] baca README untuk mengetahui masalah npm gotcha & antivirus.
  • [x] meninjau wiki untuk memastikan masalah saya belum teratasi.
  • [x] terverifikasi 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 (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

Setelah menjalankan nvm install latest versi simpul 12.5.0 dan versi npm v6.9.0 diinstal.

Perilaku Sebenarnya

Setelah perintah instal, tidak ada kesalahan yang ditampilkan:

2019-07-03_09h10_55

masalah berikut terjadi:

2019-07-03_09h11_08

Folder node_modules/ kosong:

2019-07-03_09h32_34

Langkah-langkah untuk mereproduksi masalah:

Cukup instal versi dan periksa apa yang terjadi. tidak tahu persis bagaimana ini bekerja tetapi tampaknya ada sesuatu yang terkait dengan perubahan url proyek npm/cli baru.

Komentar yang paling membantu

Punya masalah yang sama. Ini adalah upaya saya dan berhasil untuk saya:

  1. unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
  2. Hapus direktori node_modules jika sudah ada di version drectory yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. unzip file dari langkah 1, dan salin direktori node_modules ke version directory yang disimpulkan pada langkah sebelumnya.
  4. npm berfungsi

Semua 47 komentar

Apakah Anda 100% yakin Anda menjalankan 1.1.7? Saya bertanya karena perubahan npm/cli adalah masalah URL hardcoded yang ada di 1.1.6 dan diperbaiki di 1.1.7.

sayangnya, 100% yakin @coreybutler
ha ha ha

inilah tangkapan layar versi saya:

2019-07-03_13h33_44

Seorang teman saya baru saja menginstal nvm 1.1.7 di mesinnya dan saya memutakhirkan milik saya juga untuk mendapatkan versi npm terbaru, sayangnya tidak berhasil

Maaf mau tanya :-)

Saya tidak dapat membuat ulang ini.

image

Biasanya itu tergantung pada a) izin, b) masalah jaringan selama pengunduhan. Terkadang masalah jaringan ada di server jarak jauh, terutama ketika rilis node/npm baru telah didorong. Pesan kesalahan ini muncul setiap saat, tetapi karena banyak alasan berbeda, sehingga sulit untuk mengidentifikasi sumber sebenarnya dari masalah tersebut.

Untuk mereproduksi masalah ini saya harus menghapus Node dan NPM dan melakukan instalasi baru hanya menggunakan NVM, lalu saya mendapatkan kesalahan.

pwrshell-nvm-install-latest

Saya perhatikan bahwa selama proses instalasi, hal-hal terkait NPM diunduh ke folder temp, tetapi kemudian tidak pernah dipindahkan ke mana pun dan folder temp dihapus.
Bahkan menjalankan PowerShell sebagai Administrator, jadi saya rasa itu tidak terkait dengan izin.

Selama pemasangan:
during-install

Setelah menginstal:
after-install

@gsicoli Anda benar bahwa npm mengunduh ke direktori temp dan kemudian dipindahkan. Jika operasi pemindahan gagal secara diam-diam, itu akan menyebabkan direktori dihapus tanpa memindahkan npm ke tempat yang seharusnya (yaitu perilaku ini).

Apakah Anda diminta saat menjalankan nvm use atau nvm install ? Menjalankan sebagai administrator tidak berarti akun memiliki izin yang lebih tinggi. Biasanya, Windows akan meminta Anda untuk meningkatkan izin. Untuk akun admin, itu diberikan secara otomatis, tetapi tetap mengharuskan pengguna untuk mengatakan "OK".

Ini meminta ketika saya tidak menjalankan sebagai administrator. Jika saya menjalankan sebagai administrator tidak meminta ... Meskipun demikian efeknya sama.

Menghadapi masalah yang sama pada Windows 10. Jika ada informasi yang dapat saya berikan, saya akan dengan senang hati membantu!

Tampaknya tidak terkait dengan versi node tertentu; folder node_modules selalu kosong untuk versi yang saya coba instal. Saya diminta untuk izin yang lebih tinggi.

Punya masalah yang sama. Apakah ada solusi?

Punya masalah yang sama. Ini adalah upaya saya dan berhasil untuk saya:

  1. unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
  2. Hapus direktori node_modules jika sudah ada di version drectory yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. unzip file dari langkah 1, dan salin direktori node_modules ke version directory yang disimpulkan pada langkah sebelumnya.
  4. npm berfungsi

Punya masalah yang sama. Jadi, saya telah menerapkan solusi dari @liuwenzhuang. Memang, sekarang npm berfungsi dengan baik. Namun, saya mendapatkan kesalahan berikut pada npm up -g
62166164-56513a00-b320-11e9-8728-4d0cfeb758a9

Mematikan McAfee dan menjalankan instal dari konsol admin memperbaiki ini untuk saya.

@helzgate : Ini tidak masuk akal bagi saya. Log virus saya tidak menunjukkan apa-apa.
Bisakah Anda memberikan log aktivitas McAfee Anda?

Saya dapat mengkonfirmasi ini. Dengan mcafee diaktifkan, npm dibongkar tetapi pemindahannya gagal tanpa kesalahan apa pun. Log McAfee tidak menunjukkan apa-apa. Menonaktifkan mcafee selama instalasi memperbaiki masalah.
@coreybutler Saya tahu ini bukan solusi yang bagus, tetapi ternyata unzip berfungsi, jadi apakah mungkin untuk langsung membongkar di folder nodes_module/npm alih-alih membuka ritsleting ke temp dan memindahkan?

Saya mengalami masalah yang sama, tetapi tampaknya hanya terjadi dengan menginstal node 6 (atau terjadi karena saya menginstal node 6 setelah melakukan nvm install latest ?). Instalasi NPM hang tanpa batas, dan saya mengalami kesalahan npm-cli yang sama seperti yang tercantum di atas.

Saya telah menginstal McAfee Endpoint Security, tetapi karena ini adalah PC yang dikelola di kantor, tidak ada cara untuk menonaktifkannya untuk melihat apakah itu masalahnya. NPM terus hang setelah 10 menit masuk ke proses instalasi. Apakah tidak ada cara untuk memodifikasi NVM untuk setidaknya mendeteksi hang atau bahwa suatu proses tidak selesai sebagaimana dimaksud?

Catatan, komentar ini benar-benar berfungsi! Akan sangat bagus jika ini yang dilakukan oleh penginstal nvm .

@matthew-dean Sama di sini dengan McAfee. Meskipun mereka tidak mendefinisikan izin saya dengan benar sehingga saya dapat menonaktifkannya. Saya akan melihat apakah itu penyebab masalah besok ketika saya kembali bekerja. Saya tidak akan terkejut; penginstal paket dart melaporkan masalah serupa ketika menginstal beberapa paket (yang juga berfungsi dengan mengunduh ke temp dan kemudian pindah ke tempat lain).

Yup ini memang masalah bagi saya! Ada beberapa operasi di sana yang dicegah oleh McAfee Endpoint Security secara diam-diam.

Menginstal versi apa pun dengan McAfee aktif => tanpa npm
Menginstal versi apa pun dengan McAfee dinonaktifkan => npm disertakan dan berfungsi dengan baik

Apakah kesalahan yang disebutkan di atas , saat menjalankan npm update -g , terkait dengan McAfee juga? Atau apakah ini efek samping dari solusi ?

Jangan berpikir begitu. Itu tidak mengubah apa pun bagi saya jika saya menonaktifkan McAfee atau tidak. Perhatikan juga bahwa sudah ada dua masalah pada topik itu ( yang lebih panjang dan yang lebih pendek dengan skrip yang memungkinkan Anda untuk tetap memperbarui npm sepertinya (saya tidak mengujinya tetapi memiliki 30+ jempol)

Terima kasih! Mengikuti versi skrip yang ditingkatkan untuk bash . (Anda mungkin perlu menyesuaikan lokasi nodejs .) Tambahkan ke ~/.bashrc Anda dan jalankan npmup di bash baru. Atau, langsung jalankan perintah fungsi body sekaligus. Versi ini sebenarnya melakukan pembaruan, alih-alih menginstal (ulang) setiap saat.

function npmup {
  pushd /c/Program\ Files/nodejs > /dev/null
  mv npm npm2
  mv npm.cmd npm2.cmd
  mv npx npx2
  mv npx.cmd npx2.cmd
  node node_modules/npm/bin/npm-cli.js up npm -g
  mv -n npm2 npm
  mv -n npm2.cmd npm.cmd
  mv -n npx2 npx
  mv -n npx2.cmd npx.cmd
  rm -f npm2 npm2.cmd npx2 npx2.cmd
  popd > /dev/null
}

Komentar yang saya maksud telah dihapus, maaf atas kebingungannya.

Menggunakan 1.1.7, saya mengalami masalah yang sama dengan NPM tidak disalin dari folder "temp", saat melakukan instalasi baru Node.js + NPM menggunakan NVM. Karena saya menggunakan mesin perusahaan, saya tidak dapat menguji dengan McAfee Endpoint Security dinonaktifkan.

Namun, saya membangun NVM dari "master" hari ini, dan memverifikasi bahwa itu dapat diinstal dengan benar dari awal tanpa masalah.

Perhatikan bahwa masalah ini bukan _hanya_ bahwa NPM gagal untuk menginstal, tetapi utilitas baris perintah NVM juga gagal untuk _mengenali_ bahwa NPM tidak diinstal. IMO penginstal tidak melakukan langkah yang diperlukan untuk memverifikasi bahwa direktori ada, yang akan menghindari kebingungan seputar masalah ini.

@hind3nbug Sama untuk saya, McAfee Endpoint Security tidak dapat dinonaktifkan pada mesin perusahaan, jadi masih perlu ada cara yang tepat untuk menginstal NPM. Harus ada cara untuk melakukan ini.

Menggunakan 1.1.7, saya mengalami masalah yang sama dengan NPM tidak disalin dari folder "temp", saat melakukan instalasi baru Node.js + NPM menggunakan NVM. Karena saya menggunakan mesin perusahaan, saya tidak dapat menguji dengan McAfee Endpoint Security dinonaktifkan.

Namun, saya membangun NVM dari "master" hari ini, dan memverifikasi bahwa itu dapat diinstal dengan benar dari awal tanpa masalah.

Bisakah Anda membagikan versi Anda? Saya tidak dapat membangun nvm dari kode sumber :(

@hind3nbug & @coreybutler... jadi apakah masalah ini telah diselesaikan? tetapi tidak merilis versi nvm baru? kapan versi baru diperkirakan?

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.

Seandainya ini terjadi pada saya hari ini - mencopot versi dan menginstalnya kembali sepertinya memperbaiki masalah.

Saya mendapatkan kegagalan diam untuk instalasi npm.

Saya pikir itu mungkin pemindai virus Windows, jadi saya menonaktifkannya:
image

Anehnya sekarang kegagalan itu tidak diam:

$ nvm install 12.12.0
Downloading node.js version 12.12.0 (64-bit)...
Complete
Creating C:\ProgramData\nvm\temp

Downloading npm version 6.11.3... Download failed. Rolling Back.
Rollback failed. remove C:\ProgramData\nvm\temp\npm-v6.11.3.zip: The process cannot access the file because it is being used by another process.
Could not download npm for node v12.12.0.
Please visit https://github.com/npm/npm/releases/tag/v6.11.3 to download npm.
It should be extracted to C:\ProgramData\nvm\v12.12.0

Apakah Anda menjalankan nvm on setelah instalasi?

Apakah saya harus melakukannya setiap kali saya menginstal versi baru Node.js?

Saya telah menggunakan nvm selama beberapa tahun dan tidak pernah melakukan nvm on sebelumnya.

Saya telah memutuskan untuk menutup masalah ini karena ini mulai menyentuh sejumlah masalah lain. Mari kita tetap pada satu masalah per utas. Buka masalah baru jika masalah Anda belum teratasi.

Saya akan mencoba meringkas berdasarkan apa yang saya baca:

1) npm akan diinstal oleh nvm. Jika Anda melihat jalur lama (npm/npm), Anda perlu memutakhirkan NVM4W ke 1.1.7. Jika Anda tidak memiliki izin yang sesuai, itu akan gagal. Itulah sifat dan maksud Windows dan mengapa permintaan UAC ada.
2) Antivirus Anda dapat mencegah NVM4W memindahkan file npm dari direktori temp ke lokasi akhir. Matikan atau buat pengecualian. Lihat poin #3.
3) NVM4W telah dikirimkan ke setiap vendor antivirus utama dan lulus (secara teori). Namun; perangkat lunak antivirus mengubah definisi setiap saat, sehingga sulit untuk mengikutinya. Beberapa AV di luar merek mendasarkan definisi mereka pada pengetahuan yang sangat ketinggalan zaman, yang paling menantang adalah bahwa beberapa program memblokir sepenuhnya. Ada kesalahan positif pada runtime go beberapa tahun yang lalu.... sudah lama patch dan NVM4W tidak pernah mengalami eksploitasi... tetapi beberapa perusahaan AV memblokir seluruh tanda tangan bahasa go.
4) Sejujurnya, saya tidak pernah mematikan dan menghidupkan nvm. Anda seharusnya tidak benar-benar harus melakukannya, tetapi ini dirancang untuk membantu menguji sistem Anda.

Punya masalah yang sama. Ini adalah upaya saya dan berhasil untuk saya:

  1. unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
  2. Hapus direktori node_modules jika sudah ada di version drectory yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. unzip file dari langkah 1, dan salin direktori node_modules ke version directory yang disimpulkan pada langkah sebelumnya.
  4. npm berfungsi

Saya mencoba semuanya selama dua hari ... nvm, instal ulang node, restart, perubahan PATH, dan ini adalah satu-satunya hal yang benar-benar berfungsi seperti pesona!

@coreybutler dapatkah saya menyarankan menambahkan saran @liuwenzhuang ke readme.md atau Common-Issues ?

Hal ini dapat menghemat waktu seseorang.

Halo, ini kasus saya, pesan di konsol ini memberi saya petunjuk tentang kesalahan:

Silakan kunjungi https://github.com/npm/npm/releases/tag/v6.14.4 untuk mengunduh npm.

Pergi ke halaman https://github.com/npm/npm/ menunjukkan bahwa repositori telah dipindahkan dan sekarang di https://github.com/npm/cli. Artinya, Anda harus mencari v6.14.4 di repositori tersebut.

Saya juga menghadapi masalah yang sama pada Windows 10. Dan itu dapat diselesaikan dengan menonaktifkan perlindungan McAffe.

Buka McAffe Endpoint Security > Threat Prevntion > Disable Access Protection dan On access scan module (Hapus centang)
jalankan > versi instal nvm

@coreybutler : Saya pikir Anda harus memberikan beberapa pemberitahuan relatif jika npm tidak diinstal dengan benar.

Punya masalah yang sama. Ini adalah upaya saya dan berhasil untuk saya:

  1. unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
  2. Hapus direktori node_modules jika sudah ada di version drectory yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. unzip file dari langkah 1, dan salin direktori node_modules ke version directory yang disimpulkan pada langkah sebelumnya.
  4. npm berfungsi

Terima kasih @liuwenzhuang Komentar Anda sangat membantu hari ini. Saya telah berjuang dengan bug ini selama beberapa hari sekarang

Mengapa orang mengunduh simpul dari situs web untuk digunakan dengan nvm, bukankah itu gunanya nvm? Anda mungkin juga tidak menggunakan nvm sama sekali.

Saya memiliki phantom symlink nvm yang telah dibuat sebelumnya yang tidak dapat dihapus karena izin Shell. Saya menduga itu karena saya menggunakan nvm di git bash Shell sebagai pengguna yang tidak ditinggikan.

Saya menghapusnya di command prompt admin:

del /f c:\Program Files\nodejs

Kemudian buat symlink baru ke versi yang saya unduh menggunakan nvm:

mklink /j "C:\Program Files\nodejs" "C:\Users\USER_NAME\AppData\Roaming\nvm\NODE_VERSION"

Saya belum mencoba nvm use NODE_VERSION tetapi ada peluang bagus jika Anda menghapus symlink sebelum menjalankannya, itu akan membuat tautan untuk Anda (saya kira itulah perilaku yang diharapkan). Kemungkinan besar perlu menggunakan sesuatu seperti ini: https://github.com/imachug/win-sudo

Punya masalah yang sama. Ini adalah upaya saya dan berhasil untuk saya:

  1. unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
  2. Hapus direktori node_modules jika sudah ada di version drectory yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. unzip file dari langkah 1, dan salin direktori node_modules ke version directory yang disimpulkan pada langkah sebelumnya.
  4. npm berfungsi

Ini berhasil!!!

Saya juga memiliki masalah yang sama dengan McAfee + Win 10 + PowerShell. - Terima kasih banyak @liuwenzhuang

Tidak yakin mengapa ini ditutup tetapi saya mengalami masalah yang sama, pemasangan baru Windows 10, pemasangan baru nvm, tidak ada Antivirus (kecuali bawaan). Perbaikan resmi bukan untuk melewati alasan saya menggunakan nvm, bukan?

Komentar ini berfungsi untuk saya: https://github.com/coreybutler/nvm-windows/issues/475#issuecomment -538475058

Hanya melakukan nvm on ... Saya pikir itu langsung 'aktif' setelah instalasi

Ketika versi npm lokal Anda terbaru, mungkin tidak menginstal versi npm yang sama ketika Anda menginstal node terbaru, apakah itu akan terjadi?

Salah satu mesin kantor saya memiliki McAfee dan saya pikir itu berhenti untuk menginstal (menyalin) folder npm. Tetapi langkah di bawah ini seperti penyelamatan bagi saya. Terima kasih.

Punya masalah yang sama. Ini adalah upaya saya dan berhasil untuk saya:

  1. unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
  2. Hapus direktori node_modules jika sudah ada di version directory yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. unzip file dari langkah 1, dan salin direktori node_modules ke version directory yang disimpulkan pada langkah sebelumnya.
  4. npm berfungsi

Ini bekerja dari saya, seperti pesona!!

Saya pikir, Menambahkan langkah pengujian untuk mengonfirmasi tentang keberhasilan instalasi versi nodejs melalui nvm-windows akan sangat membantu untuk menghemat waktu. Jika gagal, maka berikan beberapa kemungkinan wawasan untuk menyelesaikannya.

@coreybutler pikir?

Terima kasih.

@Amitesh - Saya pikir memiliki pemeriksaan integritas adalah ide yang bagus. Namun; Saya tidak punya waktu untuk melakukannya sekarang (lihat tab diskusi, posting pertama). Saya akan menerima PR jika seseorang ingin menambahkan ini.

Saya masih menghadapi masalah npm tidak dikenali di windows 10 untuk node yang baru diinstal (10.23.0) menggunakan nvm (1.1.7)
Saya mengikuti langkah-langkah di bawah ini tetapi tidak ada gunanya

unduh versi node kebutuhan dari https://nodejs.org/en/download/releases/ dalam format zip (atau format lain)
Hapus direktori node_modules jika sudah ada di direktori versi yang terletak di direktori instal nvm (mis. C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
unzip file dari langkah 1, dan salin direktori node_modules ke direktori versi yang disimpulkan pada langkah sebelumnya.
npm berfungsi
dapatkah seseorang membimbing saya cara membuatnya bekerja :( @coreybutler tolong bantu?
nvmerror
nvm npm _10 23 0

Baru saja menemukan solusi, melihat komentar yang terkait dengan perlindungan antivirus.

Saya menggunakan Windows 10, 64 bit, versi 1909 (build 18363.1139)

  1. Dari menu Mulai buka aplikasi Keamanan Windows .
  2. Klik ubin perlindungan Virus & Ancaman .
  3. Di antarmuka yang ditampilkan, pilih Kelola pengaturan yang ada di bawah "Pengaturan perlindungan virus & ancaman"
  4. Matikan perlindungan waktu nyata
  5. Dari menu mulai, cari Command Prompt , klik kanan dan "Run as Administrator"
  6. jalankan nvm install dengan versi yang ingin Anda instal. npm akan menginstal dengan benar sekarang. Verifikasi dengan nvm gunakan dengan versi, lalu simpul -v dan npm -v
  7. Kembali ke aplikasi Keamanan Windows dan aktifkan kembali perlindungan waktu nyata
Apakah halaman ini membantu?
0 / 5 - 0 peringkat