n
– Kelola Versi Node.js Anda secara InteraktifManajemen versi Node.js: tanpa subkulit, tanpa pengaturan profil, tanpa API yang berbelit-belit, cukup sederhana .
n
– Kelola Versi Node.js Anda secara Interaktif n
didukung di macOS, Linux, termasuk Subsistem Windows untuk Linux, dan berbagai sistem mirip unix lainnya. Ini ditulis sebagai skrip BASH tetapi tidak mengharuskan Anda menggunakan BASH sebagai shell perintah Anda.
n
tidak berfungsi di shell asli pada Microsoft Windows (seperti PowerShell), atau Git untuk Windows BASH, atau dengan Cygwin DLL.
Jika Anda sudah menginstal Node.js, cara mudah untuk menginstal n
adalah menggunakan npm
:
npm install -g n
Lokasi root default yang digunakan saat menjalankan n
adalah /usr/local
di mana pengguna normal tidak memiliki izin menulis. Anda mungkin mengalami kesalahan izin yang sama saat menggunakan npm untuk menginstal modul global, seperti perintah di atas. Anda memiliki tiga opsi utama:
n
untuk menggunakan lokasi khusus di mana Anda memiliki izin menulis (lihat N_PREFIX
)sudo
di depan perintah untuk menjalankannya sebagai pengguna super n
menyimpan cache versi Node.js di subdirektori n/versions
. Versi Node.js yang aktif dipasang di subdirektori bin
, include
, lib
, dan share
.
Untuk mengambil kepemilikan direktori sistem (opsi 1):
# make cache folder (if missing) and take ownership
sudo mkdir -p /usr/local/n
sudo chown -R $(whoami) /usr/local/n
# make sure the required folders exist (safe to execute even if they already exist)
sudo mkdir -p /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
# take ownership of Node.js install destination folders
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
Jika npm
belum tersedia, salah satu cara untuk mem-bootstrap instalasi adalah dengan mengunduh dan menjalankan n
secara langsung. Untuk menginstal Node.js versi lts
:
curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s install lts
# If you want n installed, you can use npm now.
npm install -g n
Jika Anda tidak memerlukan dukungan untuk pembaruan pada n
itu sendiri, Anda cukup menyimpan unduhannya:
curl -fsSL -o /usr/local/bin/n https://raw.githubusercontent.com/tj/n/master/bin/n
chmod 0755 /usr/local/bin/n
n install lts
Di macOS dengan Homebrew Anda dapat menginstal rumus n.
brew install n
Atau di macOS dengan MacPorts Anda dapat menginstal port n:
port install n
Di Linux dan macOS, n-install memungkinkan instalasi langsung dari GitHub; misalnya:
curl -L https://bit.ly/n-install | bash
n-install menyetel PREFIX
dan N_PREFIX
ke $HOME/n
, menginstal n
ke $HOME/n/bin
, memodifikasi file inisialisasi shell yang didukung untuk mengekspor N_PREFIX
dan menambahkan $HOME/n/bin
ke PATH
, dan menginstal yang terbaru Versi LTS Node.js.
Hasilnya, n
itu sendiri dan semua versi Node.js yang dikelolanya dihosting di dalam satu direktori tunggal yang dapat dikonfigurasi secara opsional, yang nantinya dapat Anda hapus dengan skrip n-uninstall
yang disertakan. n-update
memperbarui n
dirinya ke versi terbaru. Lihat repo n-install untuk lebih jelasnya.
Mengubah dari Node.js sebelumnya yang terinstal ke lokasi lain mungkin memerlukan beberapa langkah tambahan. Lihat dokumen untuk mengubah lokasi node untuk contoh panduan peralihan dari menggunakan Homebrew ke menggunakan n
untuk mengelola Node.js.
Anda mempunyai masalah dengan beberapa versi jika setelah menginstal node Anda melihat lokasi "terinstal" dan "aktif" berbeda:
% n lts
copying : node/20.12.2
installed : v20.12.2 to /usr/local/bin/node
active : v21.7.3 at /opt/homebrew/bin/node
Cukup jalankan n <version>
untuk mengunduh dan menginstal versi Node.js. Jika <version>
sudah diunduh, n
akan menginstal dari cache-nya.
n 10.16.0
n lts
Jalankan n
sendiri untuk melihat versi unduhan Anda, dan instal versi yang dipilih.
$ n
node/4.9.1
ο node/8.11.3
node/10.15.0
Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
(Anda juga dapat menggunakan j dan k untuk memilih versi berikutnya atau sebelumnya daripada menggunakan panah, atau ctrl+n dan ctrl+p .)
Jika versi node aktif tidak berubah setelah instalasi, coba buka shell baru jika melihat versi lama.
Ada berbagai cara untuk menentukan versi target Node.js untuk n
perintah. Kebanyakan perintah menggunakan versi pencocokan terbaru, dan n ls-remote
mencantumkan beberapa versi pencocokan.
Nomor versi numerik bisa lengkap atau tidak lengkap, dengan awalan opsional v
.
4.9.1
8
: versi 8.xyv6.1
: versi 6.1.xAda label untuk dua versi yang sangat berguna:
lts
: rilis resmi Dukungan Jangka Panjang terbarulatest
, current
: rilis resmi terbaru Ada label auto
untuk membaca versi target dari file di direktori saat ini, atau direktori induk mana pun. n
mencari secara berurutan:
.n-node-version
: versi dalam satu baris. Kustom ke n
..node-version
: versi dalam satu baris. Digunakan oleh banyak alat: penggunaan versi simpul.nvmrc
: versi dalam satu baris. Digunakan oleh nvm
.engine
seperti di bawah ini. Label engine
mencari file package.json
dan membaca bidang engines
untuk menentukan Node.js yang kompatibel. Memerlukan versi jq
atau node
yang terinstal, dan menggunakan npx semver
untuk menyelesaikan rentang kompleks.
Ada dukungan untuk aliran rilis bernama:
argon
, boron
, carbon
: nama kode untuk aliran rilis LTSAlias dukungan Node.js ini dapat digunakan, meskipun cukup menggunakan versi terbaru yang cocok:
active
, lts_active
, lts_latest
, lts
, current
, supported
Formulir versi terakhir adalah untuk menentukan rilis lain yang tersedia menggunakan nama folder unduhan jarak jauh (opsional) diikuti dengan versi lengkap atau tidak lengkap.
nightly
test/v11.0.0-test20180528
rc/10
Hapus beberapa versi cache:
n rm 0.9.4 v0.10.0
Menghapus semua versi yang di-cache kecuali versi yang diinstal:
n prune
Hapus Node.js yang terinstal (tidak mempengaruhi versi cache). Hal ini berguna untuk kembali ke versi sistem node (jika berada di lokasi berbeda), atau jika Anda tidak ingin lagi menggunakan node dan npm, atau beralih ke cara lain dalam mengelolanya.
n uninstall
Ada tiga perintah untuk bekerja secara langsung dengan versi Node.js yang Anda unduh, tanpa menginstal ulang.
Anda dapat menunjukkan jalur ke versi node
yang diunduh:
$ n which 6.14.3
/usr/local/n/versions/6.14.3/bin/node
Atau jalankan versi node
yang diunduh dengan perintah n run
:
n run 8.11.3 --debug some.js
Atau jalankan perintah dengan PATH
yang dimodifikasi sehingga node
dan npm
akan berasal dari versi Node.js yang diunduh. (NB: npm
yang dijalankan dengan cara ini akan menggunakan node_modules global dari folder versi node target.)
n exec 10 my-script --fast test
n exec lts zsh
Instalasi Node.js biasanya juga menyertakan npm
, npx
, dan corepack
, namun Anda mungkin ingin mempertahankan versi saat ini (terutama yang lebih baru) menggunakan --preserve
:
$ npm install -g npm@latest
...
$ npm --version
6.13.7
# Node.js 8.17.0 includes (older) npm 6.13.4
$ n -p 8
installed : v8.17.0
$ npm --version
6.13.7
Anda dapat menjadikan ini sebagai default dengan mengatur variabel lingkungan ke string yang tidak kosong. Ada variabel lingkungan terpisah untuk npm
dan corepack
:
export N_PRESERVE_NPM=1
export N_PRESERVE_COREPACK=1
Anda bisa secara eksplisit mendapatkan perilaku yang diinginkan apa pun variabel lingkungannya:
n --preserve nightly
n --no-preserve latest
Bantuan baris perintah dapat diperoleh dari n --help
.
Daftar versi jarak jauh yang cocok tersedia untuk diunduh:
n ls-remote lts
n ls-remote latest
n lsr 10
n --all lsr
Daftar versi yang diunduh dalam cache:
n ls
Unduh versi ke dalam cache:
n download 22
Gunakan n
untuk mengakses versi cache (sudah diunduh) tanpa tersedia internet.
n --offline 12
Hapus versi cache setelah menginstal menggunakan --cleanup
. Ini sangat berguna untuk instalasi sekali pakai, seperti dalam container buruh pelabuhan.
curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s install --cleanup lts
Biasanya n run
, n exec
, dan n which
akan gagal jika versi target belum ada dalam cache. Anda dapat menambahkan --download
untuk menggunakan cache jika tersedia atau mengunduh jika diperlukan:
n --download run 18.3 my-script.js
Tampilkan diagnostik untuk membantu menyelesaikan masalah:
n doctor
Jika Anda ingin menggunakan mirror Node.js lain yang memiliki tata letak yang sama dengan https://nodejs.org/dist/ default, Anda dapat menentukan N_NODE_MIRROR
.
Salah satu contohnya adalah untuk pengguna di Tiongkok yang dapat menentukan:
export N_NODE_MIRROR=https://npmmirror.com/mirrors/node
Contoh lainnya adalah proyek pembangunan tidak resmi Node.js yang memiliki unduhan untuk beberapa platform yang tidak tersedia secara resmi, seperti armv6l (Raspberry Pi) dan x86 32-bit.
export N_NODE_MIRROR=https://unofficial-builds.nodejs.org/download/release
Anda mungkin perlu menentukan arsitektur secara eksplisit jika tidak terdeteksi secara otomatis oleh n
, seperti menggunakan musl
libc
di Alpine:
export N_NODE_MIRROR=https://unofficial-builds.nodejs.org/download/release
apk add bash curl libstdc++
n --arch x64-musl install lts
Jika cermin khusus memerlukan autentikasi, Anda dapat menambahkan nama pengguna dan kata sandi yang disandikan url ke dalam URL. misalnya
export N_NODE_MIRROR=https://encoded-username:encoded-password@host:port/path
Ada juga N_NODE_DOWNLOAD_MIRROR
untuk mirror berbeda dengan tata letak yang sama dengan default https://nodejs.org/download.
Secara default, n
memilih binari yang cocok dengan arsitektur sistem Anda. Misalnya, pada sistem 64 bit n
akan mengunduh biner 64 bit.
Di Mac dengan silikon Apple:
n
defaultnya adalah biner arm64 yang berjalan secara aslin
defaultnya adalah binari x64 yang berjalan di Rosetta 2 Anda dapat mengganti arsitektur default dengan menggunakan opsi -a
atau --arch
.
misalnya menginstal ulang versi terbaru Node.js dengan binari x64:
n rm current
n --arch x64 current
Perintah n
mengunduh dan menginstal ke /usr/local
secara default, tetapi Anda dapat mengganti lokasi ini dengan mendefinisikan N_PREFIX
. Untuk mengubah lokasi menjadi $HOME/.n
, tambahkan baris seperti berikut ke file inisialisasi shell Anda:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Jika Anda ingin menyimpan unduhan di lokasi berbeda, gunakan N_CACHE_PREFIX
. Ini tidak mempengaruhi di mana versi node aktif diinstal.
n
secara default menggunakan tarbal Node.js terkompresi xz untuk pengunduhan jika kemungkinan tar pada sistem mendukung dekompresi xz. Anda dapat mengganti pilihan otomatis dengan mengatur variabel lingkungan ke nol atau bukan nol:
export N_USE_XZ=0 # to disable
export N_USE_XZ=1 # to enable
Anda bisa secara eksplisit mendapatkan perilaku yang diinginkan apa pun variabel lingkungannya:
n install --use-xz nightly
n install --no-use-xz latest
Singkatnya:
N_NODE_MIRROR
: Lihat Sumber khususN_NODE_DOWNLOAD_MIRROR
: Lihat Sumber khususN_MAX_REMOTE_MATCHES
untuk mengubah ls-remote
default maksimum 20 versi yang cocokN_PRESERVE_NPM
: Lihat Melestarikan npmN_PRESERVE_COREPACK
: Lihat Melestarikan npm n
mengunduh paket Node.js bawaan dan menginstal ke satu awalan (misalnya /usr/local
). Ini menimpa versi sebelumnya. Folder bin
di lokasi ini harus berada di PATH
Anda (misalnya /usr/local/bin
).
Unduhan disimpan dalam folder cache untuk digunakan untuk menginstal ulang. Unduhan juga tersedia untuk penggunaan terbatas menggunakan n which
dan n run
dan n exec
.
Paket npm
global tidak diubah saat instalasi, kecuali npm
itu sendiri yang merupakan bagian dari instalasi Node.js.