Instal Node.js di Subsistem Windows untuk Linux (WSL2)

Jika Anda menggunakan Node.js secara profesional, temukan kecepatan performa dan kompatibilitas panggilan sistem yang penting, ingin menjalankan kontainer Docker yang memanfaatkan ruang kerja Linux dan menghindari harus mempertahankan skrip build Linux dan Windows, atau lebih suka menggunakan baris perintah Bash, maka Anda ingin menginstal Node.js pada Subsistem Windows untuk Linux (lebih khusus, WSL 2).

Menggunakan Subsistem Windows untuk Linux (WSL), memungkinkan Anda menginstal distribusi Linux pilihan Anda (Ubuntu adalah default kami) sehingga Anda dapat memiliki konsistensi antara lingkungan pengembangan Anda (tempat Anda menulis kode) dan lingkungan produksi (server tempat kode Anda disebarkan).

Catatan

Jika Anda baru mengembangkan dengan Node.js dan ingin memulai dan menjalankan dengan cepat sehingga Anda dapat belajar, instal Node.js di Windows. Rekomendasi ini juga berlaku jika Anda berencana menggunakan lingkungan produksi Windows Server.

Menginstal WSL 2

WSL 2 adalah versi terbaru yang tersedia untuk Windows dan kami merekomendasikannya untuk alur kerja pengembangan Node.js profesional. Untuk mengaktifkan dan menginstal WSL 2, ikuti langkah-langkah dalam dokumentasi penginstalan WSL. Langkah-langkah ini akan mencakup memilih distribusi Linux (misalnya, Ubuntu).

Setelah Anda menginstal WSL 2 dan distribusi Linux, buka distribusi Linux (dapat ditemukan di menu mulai Windows Anda) dan periksa versi dan nama kode menggunakan perintah: lsb_release -dc.

Sebaiknya perbarui distribusi Linux Anda secara teratur, termasuk segera setelah Anda menginstal, untuk memastikan Anda memiliki paket terbaru. Windows tidak otomatis menangani pembaruan ini. Untuk memperbarui distribusi Anda, gunakan perintah: sudo apt update && sudo apt upgrade.

Menginstal Terminal Windows (opsional)

Terminal Windows adalah shell baris perintah yang ditingkatkan yang memungkinkan Anda menjalankan beberapa tab sehingga Anda dapat dengan cepat beralih antara baris perintah Linux, Windows Command Prompt, PowerShell, Azure CLI, atau apa pun yang anda sukai untuk digunakan. Anda juga dapat membuat pengikatan kunci kustom (kunci pintasan untuk membuka atau menutup tab, copy+paste, dll.), menggunakan fitur pencarian, menyesuaikan terminal Anda dengan tema (skema warna, gaya dan ukuran font, gambar latar belakang/kabur/transparansi), dan banyak lagi. Pelajari selengkapnya di dokumen Terminal Windows.

Instal Terminal Windows menggunakan Microsoft Store: Dengan menginstal melalui penyimpanan, pembaruan ditangani secara otomatis.

Menginstal nvm, node.js, dan npm

Selain memilih apakah akan menginstal pada Windows atau WSL, ada pilihan tambahan yang harus dibuat saat menginstal Node.js. Sebaiknya gunakan manajer versi saat versi berubah dengan sangat cepat. Anda mungkin perlu beralih di antara beberapa versi Node.js berdasarkan kebutuhan berbagai proyek yang sedang Anda kerjakan. Node Version Manager, yang lebih umum disebut nvm, adalah cara paling populer untuk menginstal beberapa versi Node.js. Kami akan menelusuri langkah-langkah untuk menginstal nvm dan kemudian menggunakannya untuk menginstal Node.js dan Node Package Manager (npm). Ada manajer versi alternatif yang perlu dipertimbangkan juga dibahas di bagian berikutnya.

Penting

Selalu disarankan untuk menghapus penginstalan Node.js atau npm yang ada dari sistem operasi Anda sebelum menginstal manajer versi karena berbagai jenis penginstalan dapat menyebabkan konflik yang aneh dan membingungkan. Misalnya, versi Node yang dapat diinstal dengan perintah Ubuntu apt-get saat ini sudah kedaluarsa. Untuk bantuan dalam menghapus penginstalan sebelumnya, lihat Cara menghapus nodejs dari ubuntu.)

  1. Buka baris perintah Ubuntu Anda (atau distribusi pilihan Anda).

  2. Instal cURL (alat yang digunakan untuk mengunduh konten dari internet di baris perintah) dengan: sudo apt-get install curl

  3. Instal nvm, dengan: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

    Catatan

    Menginstal versi NVM yang lebih baru menggunakan cURL akan menggantikan yang lebih lama, meninggalkan versi Node yang telah Anda gunakan NVM untuk menginstal secara utuh. Untuk informasi selengkapnya, lihat halaman proyek GitHub untuk informasi rilis terbaru tentang NVM.

  4. Untuk memverifikasi penginstalan, masukkan: command -v nvm ... ini harus mengembalikan 'nvm', jika Anda menerima 'perintah tidak ditemukan' atau tidak ada respons sama sekali, tutup terminal Anda saat ini, buka kembali, dan coba lagi. Pelajari lebih lanjut di repositori github nvm.

  5. Cantumkan versi Simpul mana yang saat ini diinstal (tidak boleh ada pada saat ini): nvm ls

    NVM list showing no Node versions

  6. Instal node.js versi LTS saat ini dan stabil. Di langkah selanjutnya, Anda akan mempelajari cara beralih antara versi aktif Node.js dengan nvm perintah.

    • Instal rilis LTS stabil Node.js saat ini (disarankan untuk aplikasi produksi): nvm install --lts
    • Instal rilis Node.js saat ini (untuk menguji fitur dan peningkatan Node.js terbaru, tetapi kemungkinan besar mengalami masalah): nvm install node
  7. Mencantumkan versi Node apa yang diinstal: nvm ls ... sekarang Anda akan melihat dua versi yang baru saja Anda instal tercantum.

    NVM list showing LTS and Current Node versions

  8. Verifikasi bahwa Node.js diinstal dan versi default saat ini dengan: node --version. Kemudian verifikasi bahwa Anda juga memiliki npm, dengan: npm --version (Anda juga dapat menggunakan which node atau which npm untuk melihat jalur yang digunakan untuk versi default).

  9. Untuk mengubah versi Node.js yang ingin Anda gunakan untuk proyek, buat direktori mkdir NodeTestproyek baru , dan masukkan direktori cd NodeTest, lalu masukkan nvm use node untuk beralih ke versi Saat Ini, atau nvm use --lts untuk beralih ke versi LTS. Anda juga dapat menggunakan nomor tertentu untuk versi tambahan apa pun yang telah Anda instal, seperti nvm use v8.2.1. (Untuk mencantumkan semua versi Node.js yang tersedia, gunakan perintah : nvm ls-remote).

Jika Anda menggunakan NVM untuk menginstal Node.js dan NPM, Anda tidak perlu menggunakan perintah SUDO untuk menginstal paket baru.

Manajer versi alternatif

Meskipun nvm saat ini adalah manajer versi paling populer untuk node, ada beberapa alternatif untuk dipertimbangkan:

  • n adalah alternatif lama nvm yang mencapai hal yang sama dengan perintah yang sedikit berbeda dan diinstal melalui npm daripada skrip bash.
  • fnm adalah manajer versi yang lebih baru, mengklaim jauh lebih cepat daripada nvm. (Ini juga menggunakan Azure Pipelines.)
  • Volta adalah manajer versi baru dari tim LinkedIn yang mengklaim peningkatan kecepatan dan dukungan lintas platform.
  • asdf-vm adalah satu CLI untuk beberapa bahasa, seperti ike gvm, nvm, rbenv & pyenv (dan lainnya) semuanya dalam satu bahasa.
  • nvs (Node Version Switcher) adalah alternatif lintas platform nvm dengan kemampuan untuk berintegrasi dengan VISUAL Code.

Pasang Visual Studio Code.

Sebaiknya gunakan Visual Studio Code dengan paket ekstensi Pengembangan jarak jauh untuk proyek Node.js. Ini membagi Visual Studio Code menjadi arsitektur "client-server", dengan klien (antarmuka pengguna Visual Studio Code) yang berjalan pada sistem operasi Windows Anda dan server (kode Anda, Git, plugin, dll) yang berjalan "dari jarak jauh" pada distribusi WSL Linux Anda.

Catatan

Skenario "jarak jauh" ini sedikit berbeda dari yang biasa Anda terbiasa. WSL mendukung distribusi Linux aktual tempat kode proyek Anda berjalan, secara terpisah dari sistem operasi Windows Anda, tetapi masih di komputer lokal Anda. Ekstensi Remote-WSL terhubung dengan subsistem Linux Anda seolah-olah itu adalah server jarak jauh, meskipun tidak berjalan di cloud... itu masih berjalan pada komputer lokal Anda di lingkungan WSL yang Anda aktifkan untuk berjalan bersama Windows.

Editor kode lain, seperti IntelliJ, Sublime Text, Brackets, dll. juga akan bekerja dengan lingkungan pengembangan WSL 2 Node.js, tetapi mungkin tidak memiliki semacam fitur jarak jauh yang sama dengan yang ditawarkan VISUAL Code. Editor kode ini mungkin mengalami masalah saat mengakses lokasi jaringan bersama WSL (\wsl$\Ubuntu\home) dan akan mencoba membangun file Linux Anda menggunakan alat Windows, yang kemungkinan bukan yang Anda inginkan. Ekstensi Remote-WSL di VISUAL Code menangani kompatibilitas ini untuk Anda, dengan ID Lain, Anda mungkin perlu menyiapkan server X. Dukungan untuk menjalankan aplikasi GUI di WSL (seperti IDE editor kode) akan segera hadir.

Editor teks berbasis terminal (vim, emacs, nano) juga berguna untuk membuat perubahan cepat dari kanan di dalam konsol Anda. Artikel, Emacs, Nano, atau Vim: Pilih Editor Teks Berbasis Terminal Anda dengan bijak melakukan pekerjaan yang bagus yang menjelaskan beberapa perbedaan dan sedikit tentang cara menggunakan masing-masing.

Untuk menginstal Visual Studio Code dan Ekstensi Remote-WSL:

  1. Unduh dan instal Visual Studio Code untuk Windows. Vs Code juga tersedia untuk Linux, tetapi Subsistem Windows untuk Linux tidak mendukung aplikasi GUI, jadi kita perlu menginstalnya di Windows. Tidak perlu khawatir, Anda masih dapat berintegrasi dengan baris perintah Linux dan alat menggunakan Ekstensi Jarak Jauh - WSL.

  2. Instal Ekstensi Jarak Jauh - WSL pada Visual Studio Code. Ini memungkinkan Anda untuk menggunakan WSL sebagai lingkungan pengembangan terintegrasi Anda dan akan menangani kompatibilitas dan jalur untuk Anda. Pelajari selengkapnya.

Penting

Jika Anda sudah menginstal Visual Studio Code, Anda perlu memastikan bahwa Anda memiliki rilis 1.35 Mei atau yang lebih baru untuk menginstal Ekstensi Jarak Jauh - WSL. Kami tidak menyarankan penggunaan WSL di Visual Studio Code tanpa ekstensi Remote-WSL karena Anda akan kehilangan dukungan untuk penyelesaian otomatis, penelusuran kesalahan, linting, dll. Fakta menyenangkan: Ekstensi WSL ini diinstal di $HOME/.vscode-server/extensions.

Ekstensi Visual Studio Code yang Bermanfaat

Meskipun Visual Studio Code dilengkapi dengan banyak fitur untuk pengembangan Node.js di luar kotak, ada beberapa ekstensi yang berguna untuk mempertimbangkan menginstal yang tersedia di Paket Ekstensi Node.js. Instal semuanya atau pilih dan pilih yang tampaknya paling berguna bagi Anda.

Untuk menginstal paket ekstensi Node.js:

  1. Buka jendela Ekstensi (Ctrl+Shift+X) di Visual Studio Code.

    Jendela Ekstensi sekarang dibagi menjadi tiga bagian (karena Anda menginstal ekstensi Remote-WSL).

    • "Lokal - Terinstal": Ekstensi yang diinstal untuk digunakan dengan sistem operasi Windows Anda.
    • "WSL:Ubuntu-18.04-Install": Ekstensi yang diinstal untuk digunakan dengan sistem operasi Ubuntu (WSL) Anda.
    • "Disarankan": Ekstensi yang direkomendasikan oleh Visual Studio Code berdasarkan jenis file dalam proyek Anda saat ini.

    VS Code Extensions Local vs Remote

  2. Di kotak pencarian di bagian atas jendela Ekstensi, masukkan: Paket Ekstensi Simpul (atau nama ekstensi apa pun yang Anda cari). Ekstensi akan diinstal untuk instans Lokal atau WSL Visual Studio Code Anda tergantung di mana Anda membuka proyek saat ini. Anda dapat mengetahuinya dengan memilih tautan jarak jauh di sudut kiri bawah jendela Visual Studio Code Anda (berwarna hijau). Ini akan memberi Anda opsi untuk membuka atau menutup koneksi jarak jauh. Instal ekstensi Node.js Anda di lingkungan "WSL:Ubuntu-18.04".

    VS Code remote link

Beberapa ekstensi tambahan yang mungkin ingin Anda pertimbangkan meliputi:

  • JavaScript Debugger: Setelah selesai mengembangkan di sisi server dengan Node.js, Anda harus mengembangkan dan menguji sisi klien. Ekstensi ini adalah debugger JavaScript berbasis DAP. Ini men-debug Node.js, Chrome, Edge, WebView2, ekstensi Visual Studio Code, dan banyak lagi.
  • Peta kunci dari editor lain: Ekstensi ini dapat membantu lingkungan Anda merasa seperti di rumah jika Anda beralih dari editor teks lain (seperti Atom, Sublime, Vim, eMacs, Notepad++, dll).
  • Pengaturan Sync: Memungkinkan Anda menyinkronkan pengaturan Visual Studio Code di berbagai penginstalan menggunakan GitHub. Jika Anda bekerja pada komputer yang berbeda, ini membantu menjaga lingkungan Anda tetap konsisten di seluruh komputer.

Menyiapkan Git (opsional)

Untuk menyiapkan Git untuk proyek Node.js di WSL, lihat artikel Mulai menggunakan Git di Subsistem Windows untuk Linux dalam dokumentasi WSL.