Lengkapi formulir ini untuk memberikan pemikiran Anda dan mendaftar untuk mendapatkan pembaruan kemajuan.
Pembaruan juga akan diposting di Halaman LinkedIn Perangkat Lunak Penulis.
Microsoft/npm/Google merekomendasikan manajer versi Node.js untuk Windows .
Nvm asli adalah proyek yang sepenuhnya terpisah hanya untuk Mac/Linux. Proyek ini menggunakan filosofi yang sama sekali berbeda dan bukan hanya tiruan dari nvm. Detailnya tercantum di Mengapa pengelola versi lain? dan apa perbedaan besarnya?.
Tidak bisa mensponsori? Pertimbangkan untuk menominasikan @coreybutler untuk bintang Github. |
Mengalami masalah? Lihat wiki masalah umum.
Mencari Umpan Balik:Kami sedang mengerjakan Runtime (rt), penerus NVM Untuk Windows. Silakan berkontribusi dengan meluangkan waktu sebentar untuk mengisi formulir ini. Terima kasih! |
Kelola beberapa instalasi node.js di komputer Windows.
tl;dr Mirip (tidak identik) dengan nvm, tetapi untuk Windows. Memiliki penginstal. Unduh Sekarang!
Ini selalu menjadi pengelola versi simpul, bukan pengelola io.js, jadi tidak ada dukungan kembali untuk io.js. Node 4+ didukung. Ingat saat menjalankan nvm install
atau nvm use
, Windows biasanya memerlukan hak administratif (untuk membuat symlink). Untuk menginstal Node.js versi terbaru, jalankan nvm install latest
. Untuk menginstal versi stabil terbaru, jalankan nvm install lts
.
Ada situasi di mana kemampuan untuk beralih di antara versi Node.js yang berbeda bisa sangat berguna. Misalnya, jika Anda ingin menguji modul yang Anda kembangkan dengan versi terbaru tanpa menghapus instalasi versi stabil node, utilitas ini dapat membantu.
Cara paling sederhana (disarankan) agar NVM untuk Windows berjalan dengan baik adalah dengan menghapus instalasi instalasi Node sebelumnya sebelum menginstal NVM untuk Windows. Ini menghindari semua jebakan yang tercantum di bawah. Namun; Anda mungkin tidak ingin melakukan nuklir pada instalasi Node Anda jika Anda sudah sangat menyesuaikannya. NVM untuk Windows dapat mengasumsikan pengelolaan instalasi yang sudah ada, tetapi ada beberapa perbedaan dalam hal ini (sepenuhnya bergantung pada izin pengguna yang menjalankan instalasi). Jika Anda memiliki akun administratif, relatif aman untuk menginstal NVM untuk Windows sebelum menghapus instalasi versi Node asli. Jika Anda bekerja di lingkungan tertutup, seperti lingkungan Direktori Aktif perusahaan di mana instalasi/uninstallasi dikendalikan oleh kebijakan grup, Anda harus benar-benar mempertimbangkan untuk menghapus versi asli Node sebelum menginstal NVM4W.
Masalah Izin Untuk alasan keamanan, Windows tidak akan mengizinkan aplikasi dari satu vendor untuk "menguninstall" aplikasi dari vendor berbeda. Penginstal NVM4W resmi akan mencoba mengambil alih pengelolaan instalasi Node.js yang sudah ada, namun sebenarnya tidak dapat menghapus instalan versi Node.js yang asli. Untuk mengatasinya, penginstal NVM untuk Windows mencoba menyalin file instalasi Node.js asli ke root NVM. Ini termasuk modul dan konfigurasi npm global. Setelah proses ini selesai, instalasi Node.js asli dapat dihapus instalasinya tanpa kehilangan data.
Masalah Instalasi PATH Jika Anda mencoba mengkonfigurasi NVM_SYMLINK
untuk menggunakan direktori yang ada (seperti C:Program Filesnodejs
), itu akan gagal karena symlink tidak dapat menimpa direktori fisik. Ini bukan masalah jika Anda memilih jalur symlink yang berbeda (seperti C:nvmnode
).
Konflik PATH Jika Anda tidak menghapus versi asli, menjalankan nvm use
mungkin tampak tidak menghasilkan apa-apa. Menjalankan node -v
akan selalu menampilkan versi instalasi asli. Hal ini disebabkan oleh konflik PATH
yang muncul ketika aplikasi yang sama diinstal beberapa kali. Di NVM4W 1.1.11+, jalankan nvm debug
untuk menentukan apakah Anda mengalami konflik PATH
.
Untuk mempermudah, kami menyarankan untuk menghapus instalasi versi Node.js yang ada sebelum menggunakan NVM untuk Windows. Hapus semua direktori instalasi Node.js yang ada (misalnya, %ProgramFiles%nodejs
) yang mungkin tersisa. Symlink yang dihasilkan NVM tidak akan menimpa direktori instalasi yang ada (bahkan kosong).
? Cadangkan konfigurasi npmrc
global apa pun ? (misalnya %AppData%npmetcnpmrc
)
Alternatifnya, salin pengaturan ke konfigurasi pengguna %UserProfile%.npmrc
. Hapus lokasi pemasangan npm yang ada (misalnya %AppData%npm
) untuk mencegah konflik modul global.
Gunakan penginstal terbaru (dilengkapi dengan uninstaller). Alternatifnya, ikuti panduan instalasi manual.
Jika NVM4W tampaknya tidak berfungsi segera setelah instalasi, restart terminal/powershell (bukan seluruh komputer).
Setelah instalasi, instalasi ulang utilitas global (misalnya benang) harus dilakukan untuk setiap versi node yang diinstal:
nvm use 14.0.0 npm install -g yarn nvm use 12.0.1 npm install -g yarn
Pada v1.1.8, terdapat utilitas pemutakhiran yang akan mengotomatiskan proses pemutakhiran.
Untuk memutakhirkan nvm-windows , jalankan penginstal baru. Ini akan dengan aman menimpa file yang perlu diperbarui tanpa menyentuh instalasi node.js Anda. Pastikan Anda menggunakan folder instalasi dan symlink yang sama. Jika awalnya Anda menginstal ke lokasi default, Anda hanya perlu mengklik "next" pada setiap jendela hingga selesai.
nvm-windows berjalan di shell Admin . Anda harus memulai powershell
atau Command Prompt sebagai Administrator untuk menggunakan nvm-windows
NVM untuk Windows adalah alat baris perintah. Cukup ketik nvm
di konsol untuk mendapatkan bantuan. Perintah dasarnya adalah:
nvm arch [32|64]
: Menampilkan apakah node berjalan dalam mode 32 atau 64 bit. Tentukan 32 atau 64 untuk mengganti arsitektur default.
nvm debug
: Periksa proses NVM4W untuk masalah yang diketahui.
nvm current
: Menampilkan versi aktif.
nvm install
: Versi dapat berupa versi tertentu, "terbaru" untuk versi terbaru saat ini, atau "lts" untuk versi LTS terbaru. Secara opsional tentukan apakah akan menginstal versi 32 atau 64 bit (default pada system arch). Setel [arch] ke "all" untuk menginstal versi 32 DAN 64 bit. Tambahkan --insecure
di akhir perintah ini untuk melewati validasi SSL dari server unduhan jarak jauh.
nvm list [available]
: Daftar instalasi node.js. Ketik available
di akhir untuk menampilkan daftar versi yang tersedia untuk diunduh.
nvm on
: Aktifkan manajemen versi node.js.
nvm off
: Nonaktifkan manajemen versi node.js (tidak menghapus instalasi apa pun).
nvm proxy [url]
: Mengatur proxy yang akan digunakan untuk mengunduh. Biarkan [url]
kosong untuk melihat proksi saat ini. Setel [url]
ke "tidak ada" untuk menghapus proksi.
nvm uninstall
: Menghapus instalasi versi tertentu.
nvm use
: Beralih untuk menggunakan versi yang ditentukan. Opsional gunakan latest
, lts
, atau newest
. newest
adalah versi terinstal terbaru. Secara opsional tentukan arsitektur 32/64bit. nvm use
akan terus menggunakan versi yang dipilih, tetapi beralih ke mode 32/64 bit. Untuk informasi tentang penggunaan use
di direktori tertentu (atau menggunakan .nvmrc
), silakan merujuk ke edisi #16.
nvm root
: Tetapkan direktori tempat nvm harus menyimpan versi node.js yang berbeda. Jika
tidak disetel, root saat ini akan ditampilkan.
nvm version
: Menampilkan versi NVM untuk Windows yang sedang berjalan.
nvm node_mirror
: Mengatur node mirror. Orang-orang di Tiongkok dapat menggunakan https://npmmirror.com/mirrors/node/
nvm npm_mirror
: Mengatur npm mirror. Orang-orang di Tiongkok dapat menggunakan https://npmmirror.com/mirrors/npm/
Harap perhatikan bahwa modul npm global apa pun yang mungkin Anda instal tidak dibagikan ke berbagai versi node.js yang telah Anda instal. Selain itu, beberapa modul npm mungkin tidak didukung dalam versi node yang Anda gunakan, jadi waspadai lingkungan Anda saat bekerja.
Pengguna telah melaporkan beberapa masalah saat menggunakan antivirus, khususnya McAfee. Tampaknya perangkat lunak antivirus memanipulasi akses ke mesin VBScript. Lihat edisi #133 untuk detail dan resolusi.
v1.1.8 bukan kode yang ditandatangani , tetapi semua versi lainnya ditandatangani oleh Ecor Ventures LLC/Author.io. Ini akan membantu mencegah kesalahan positif pada sebagian besar perangkat lunak antivirus.
v1.1.8+ bukan kode yang ditandatangani karena sertifikat sudah habis masa berlakunya (lihat catatan rilis untuk mengetahui alasannya). v1.1.9 adalah kode yang ditandatangani berkat ajyong, yang mensponsori sertifikat baru.
tldr; npm i -g yarn
Lihat wiki untuk detailnya.
Instal, buka dari http://golang.org
Unduh sumber / Git Clone repo
Ubah GOARCH menjadi amd64 di build.bat jika Anda ingin membuat file 64-bit yang dapat dieksekusi
Jalankan prompt perintah Windows dan ubah direktori ke direktori proyek
Jalankan go get github.com/blang/semver
Jalankan go get github.com/olekukonko/tablewriter
Jalankan build.bat
Periksa direktori dist
untuk program pengaturan yang dihasilkan.
Ada beberapa pengelola versi untuk node.js. Alat seperti nvm dan n hanya berjalan di Mac OSX dan Linux. Pengguna Windows dibiarkan kedinginan? Tidak. nvmw dan nodist keduanya dirancang untuk Windows. Jadi, mengapa pengelola versi lain untuk Windows?
Arsitektur sebagian besar pengelola versi node untuk Windows mengandalkan file .bat
, yang melakukan beberapa trik cerdas untuk mengatur atau meniru variabel lingkungan. Beberapa dari mereka menggunakan node itu sendiri (setelah diunduh), yang mengagumkan, namun rentan terhadap masalah. Tepat di sekitar node 0.10.30, struktur instalasi sedikit berubah, menyebabkan beberapa di antaranya berhenti bekerja dengan sesuatu yang baru.
Selain itu, beberapa pengguna kesulitan memasang modul ini karena memerlukan lebih banyak pengetahuan tentang struktur instalasi node. Saya yakin jika lebih mudah bagi orang untuk beralih antar versi, orang mungkin meluangkan waktu untuk menguji kode mereka pada versi sebelumnya dan yang akan datang... yang merupakan praktik yang baik.
Pertama dan terpenting, versi nvm ini tidak memiliki ketergantungan pada node. Itu ditulis dalam Go, yang merupakan pendekatan yang jauh lebih terstruktur daripada meretas file .bat
terbatas. Itu tidak bergantung pada instalasi node yang sudah ada. Go menawarkan kemampuan untuk membuat versi Mac/Linux dengan basis kode yang sama. Faktanya, hal ini sudah berlangsung.
Mekanisme kontrolnya juga sangat berbeda. Ada dua cara umum untuk mendukung instalasi beberapa node dengan kemampuan hot switching. Yang pertama adalah memodifikasi PATH
sistem setiap kali Anda mengganti versi, atau melewatinya dengan menggunakan file .bat
untuk meniru node yang dapat dieksekusi dan mengarahkan ulang sesuai dengan itu. Bagi saya, hal ini selalu terasa agak aneh, dan ada beberapa keanehan akibat penerapan ini.
Opsi kedua adalah menggunakan symlink. Konsep ini memerlukan penempatan symlink di sistem PATH
, kemudian memperbarui targetnya ke direktori instalasi node yang ingin Anda gunakan. Ini adalah pendekatan yang lugas, dan sepertinya itulah yang direkomendasikan orang-orang.... sampai mereka menyadari betapa sulitnya symlink di Windows. Inilah sebabnya hal ini belum pernah terjadi sebelumnya.
Untuk membuat/memodifikasi symlink, Anda harus menjalankannya sebagai admin, dan Anda harus mengatasi Windows UAC (prompt yang mengganggu itu). Untungnya, ini adalah tantangan yang sudah saya selesaikan dengan beberapa skrip pembantu di node-windows. Hasilnya, NVM untuk Windows mempertahankan satu symlink yang dimasukkan ke dalam PATH
sistem selama instalasi saja. Beralih ke versi node yang berbeda adalah masalah mengganti target symlink. Akibatnya, utilitas ini tidak mengharuskan Anda menjalankan nvm use xxx
setiap kali Anda membuka jendela konsol. Saat Anda menjalankan nvm use xxx
, versi node yang aktif secara otomatis diperbarui di semua jendela konsol yang terbuka. Itu juga tetap ada di antara reboot sistem, jadi Anda hanya perlu menggunakan nvm saat Anda ingin melakukan perubahan.
NVM untuk Windows hadir dengan penginstal, berkat produk sampingan dari pekerjaan saya di Fenix Web Server.
Secara keseluruhan, proyek ini menyatukan beberapa ide, beberapa modul lain yang telah diperkeras, dan dukungan untuk versi node.
NVM untuk Windows mengenali versi "terbaru" menggunakan daftar yang disediakan oleh proyek Node. Versi 1.1.1+ gunakan daftar ini. Sebelum daftar ini ada, saya menghapus rilis dan menyajikannya sebagai data feed mandiri. Daftar ini digunakan pada versi 1.1.0 dan sebelumnya, namun sekarang sudah tidak digunakan lagi.
Saya membutuhkannya, jelas dan sederhana. Selain itu, terlihat jelas bahwa dukungan untuk beberapa versi tidak hadir di inti node. Itu juga merupakan alasan untuk bermain dengan Go.
Saya memilih Go karena bersifat lintas platform, terasa lebih hemat dibandingkan Java, dan sudah ada lebih lama dari perkiraan kebanyakan orang. Ditambah lagi, saya ingin bereksperimen dengannya. Saya ditanya mengapa saya tidak menulisnya dengan Node.js. Mencoba menulis alat dengan alat yang Anda coba pasang tidak masuk akal bagi saya. Akibatnya, persyaratan proyek saya untuk ini sederhana... sesuatu yang bukan Node.js. Node akan terus berkembang dan berubah. Jika Anda perlu mengingatnya, ingat io.js, Ayo, semua perubahan besar antara 4.xx dan 6.xx, dan peralihan ke Modul ES di 12+. Perubahan tidak bisa dihindari dalam dunia perangkat lunak. JavaScript sangat dinamis.
Terima kasih kepada semua orang yang telah mengirimkan masalah di dalam dan di luar Github, memberikan saran, dan secara umum membantu menjadikan proyek ini lebih baik. Terima kasih khusus kepada
@vkbansal, yang memberikan masukan awal yang signifikan sepanjang rilis awal.
@rainabba dan @sullivanpt untuk mengintegrasikan dukungan Node v4.
@shadow yang menyelesaikan masalah pelolosan ruang yang sudah lama terjadi pada nama jalur (#355).
ajyong yang mensponsori sertifikat penandatanganan kode pada akhir tahun 2021.