Nvm-windows: Perlu menghapus folder secara manual saat nvm uninstall

Dibuat pada 11 Mar 2017  ·  13Komentar  ·  Sumber: coreybutler/nvm-windows

Hai,
berikut adalah langkah-langkah untuk mereproduksi (termasuk deskripsi kesalahan). Ini terjadi pada sistem x64,

nvm install xyz (6.10.0 atau serupa, tetapi versinya tidak masalah)
nvm uninstall xyz
=> uninstall berhasil, tidak ada sisa

nvm instal xyz
nvm menggunakan xyz
nvm gunakan uvw (versi lain - hanya untuk memastikan xyz tidak digunakan - langkah ini mungkin tidak diperlukan)
nvm uninstall xyz
=> perlu menghapus folder xyz secara manual dari jalur nvm, yang selalu berisi node.exe saja

IMO, hal ini terjadi karena sebelum "menggunakan" ada node64.exe, yang namanya diubah pada saat "digunakan" menjadi node.exe. Node.exe ini tetap dari titik ini dan jelas memblokir penghapusan folder.

Saya harap uraiannya cukup jelas.
Terima kasih

bug

Komentar yang paling membantu

perlu dibuka kembali karena masalah yang sama di macOS

Semua 13 komentar

Jika Anda menjalankan nvm ls setelah ini, apakah itu menunjukkan versi yang dicopot?

Ya, memang - setelah install / use / uninstall, nvm ls masih menampilkan file
versi yang dihapus.

BTW, jika saya mengganti nama node.exe menjadi node64.exe sebelum pencopotan pemasangan, file
versi dihapus sepenuhnya (tanpa harus menghapus file
map).

Oke, saya telah menandai ini sebagai bug. Versi Windows mana yang Anda jalankan?

Versi Windows mana yang Anda jalankan?

Windows 10 (pembaruan hari jadi) x64

Hai,

afaict (tapi saya bukan pengembang Go) di arch.go: SearchBytesInFile the
file yang dibuka tidak pernah ditutup. Jadi, ketika os.RemoveAll mencoba menghapus file
file ada pelanggaran berbagi.

Saya agak terkejut meskipun ini belum pernah dilaporkan sebelumnya,
karena menurut saya bug harus terjadi setiap kali versi "bekas"
(yang berisi node.exe) harus dihapus instalasinya.

Setelah eksekusi menyelesaikan operasi, itu tidak lagi terkait dengan file apa pun. Dengan kata lain, eksekusi menjalankan satu operasi, lalu menutup semua koneksi file dengan keluar. Namun; Saya belum memiliki kesempatan untuk menguji ini secara pribadi di Windows build terbaru. Jika Windows sekarang menggunakan kunci file untuk operasi ini, maka Anda mungkin benar ... itu mungkin masih ada.

Saya akan mencoba men-debug ini secepat saya bisa, tetapi saya dalam pekerjaan kontrak minggu ini dan memiliki kewajiban SXSWi. Jadi, mungkin perlu beberapa saat sebelum saya benar-benar bisa duduk dengan ini.

Setelah eksekusi menyelesaikan operasi, itu tidak lagi terkait dengan file apa pun. Dengan kata lain, eksekusi menjalankan satu operasi, lalu menutup semua koneksi file dengan keluar.

IMO: nvm.exe membuka node.exe (dan hanya itu, bukan node64.exe atau sejenisnya)
dan memindai beberapa byte, tetapi tidak menutup pegangan file.
Kemudian nvm.exe mencoba untuk menghapus folder tersebut (tapi tentu saja belum keluar
di sela-sela, jadi pegangan file masih terbuka).

Namun; Saya belum memiliki kesempatan untuk menguji ini secara pribadi di Windows build terbaru. Jika Windows sekarang menggunakan kunci file untuk operasi ini, maka Anda mungkin benar ... itu mungkin masih ada.

Ini sebenarnya bukan kunci file. Saya membiarkan nvm.exe menampilkan kesalahan dan itu
berbunyi "Proses tidak dapat mengakses file karena sedang digunakan oleh
proses lain "(yang merupakan pesan yang sama jika ada di tempat yang sama
proses).

Saya akan mencoba men-debug ini secepat saya bisa, tetapi saya dalam pekerjaan kontrak minggu ini dan memiliki kewajiban SXSWi. Jadi, mungkin perlu beberapa saat sebelum saya benar-benar bisa duduk dengan ini.

Oke tidak masalah. Jika Anda bisa memperbaikinya di versi berikutnya.

Terima kasih!

Saya melakukan sedikit pengujian dan ini hanya terjadi jika Anda menggunakan nvm xxx versi yang akan dihapus DAN Anda menggunakan arch 64. Seperti yang telah disebutkan, node64.exe diubah namanya menjadi node.exe dan tidak dihapus. Namun, jika Anda menggunakan versi lain dan secara manual mengganti nama node.exe menjadi node64.exe (seperti yang disebutkanoeoe) maka penghapusan instalasi berhasil diselesaikan.

Artinya, ada beberapa cara untuk memperbaiki masalah tersebut. Saya akan merekomendasikan 'nvm use' memulihkan folder versi perintah penggunaan bergerak DARI kembali ke keadaan semula. Yang lainnya adalah melakukan uninstall check arch dan memastikan node dapat dieksekusi sesuai dengan arch versi. Ada beberapa hal lain yang dapat dilakukan dengan symlink tetapi saya pikir ini adalah dua opsi terbaik. Keterampilan Go saya cukup rendah tetapi saya akan mencoba membangun salah satu atau keduanya segera.

edit: ejaan

Masalah yang sama di sini. Keluaran CLI:

❯ nvm list

  * 8.4.0 (Currently using 64-bit executable)
    6.11.2
    6.10.0

❯ nvm uninstall 6.10.0
Uninstalling node v6.10.0...Error removing node v6.10.0
Manually remove C:\Users\darsain\AppData\Roaming\nvm\v6.10.0.

❯ nvm list

  * 8.4.0 (Currently using 64-bit executable)
    6.11.2
    6.10.0

Setelah menjalankan perintah uninstall , folder v6.10.0 hanya memiliki file node.exe di dalamnya. Saya 99% yakin tidak ada yang menggunakannya. Menghapus secara manual bekerja dengan baik.

Tapi, versi v6.10.0 telah diinstal beberapa waktu yang lalu di nvm 1.1.1 saya rasa. Hari ini saya meningkatkan ke 1.1.6. Menginstal dan menghapus node 6.11.2 yang saya lakukan hari ini setelah peningkatan berfungsi dengan baik.

Saya bisa konfirmasi yang ini. Juga terjadi pada saya di Win10 x64 menggunakan node v6.9.1 dan nvm 1.1.3

Juga terjadi pada Win10 x64 (versi 1709) menggunakan node v8.11.1 dan nvm 1.1.6

Hai, @coreybutler , bug juga terjadi pada Windows10 x64, dan jika saya menggunakan perintah nvm use x.y.z untuk mengganti versi nodejs, xyz tidak akan dicopot, sedangkan versi abc jika saya tidak dapat menggunakan nvm use perintah, itu dapat dihapus

perlu dibuka kembali karena masalah yang sama di macOS

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

eliavmaman picture eliavmaman  ·  6Komentar

David263 picture David263  ·  3Komentar

leiamac picture leiamac  ·  4Komentar

keylowgee picture keylowgee  ·  6Komentar

thany picture thany  ·  4Komentar