Terjemahan kami sebelumnya tentang fungsi baru dari versi ke-15 Node.js diterima dengan sangat baik oleh para pembaca Habr, jadi hari ini kami memutuskan untuk melanjutkan topik dan memberi tahu Anda cara mengkonfigurasi NVM dengan Node.js dan NPM 7 versi 15 .
Node.js versi 15 dirilis pada 20 Oktober 2020. Ini dikirimkan dengan npm 7 dan banyak fitur baru. Apakah Anda sudah mencoba versi baru?
Tapi tunggu dulu! Node.js 15 dan npm 7 berisi perubahan yang dapat merusak. Bukankah peningkatan ini akan merugikan proyek yang sudah ada?
Secara teori, itu bisa menyakitkan!
Untungnya, kami memiliki NVM (Node Version Manager) untuk menyelamatkan kami dari bahaya ini. Mari kita lihat lebih dekat alat ini untuk memperbarui versi node.js dan npm tanpa masalah.
Pasang NVM
nvm
mengelola versi node.js dan npm. Ini dipasang untuk pengguna tertentu dan dapat dipanggil secara terpisah untuk setiap shell.
nvm
bekerja dengan shell yang kompatibel dengan POSIX (sh, dash, ksh, zsh, bash), termasuk platform: unix, macOS dan windows WSL.
nvm
dapat diinstal menggunakan perintah curl atau wget:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash $ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
Script
install.sh
klon nvm repositori di
~/.nvm
dan mencoba untuk menambahkan baris sumber dari fragmen berikut ke file profil yang diinginkan (
~/.bash_profile
,
~/.zshrc
,
~/.profile
atau
~/.bashrc
).
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Di dalam
~/.bash_profile
kita dapat melihat bahwa garis ditambahkan:
export NVM_DIR="/Users/fuje/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Menggunakan NVM
Jadi, kami telah menginstal nvm. Sekarang kami menggunakan perintah ini untuk menginstal versi terbaru node.js:
$ nvm install node
Downloading and installing node v15.4.0...
Downloading https://nodejs.org/dist/v15.4.0/node-v15.4.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v15.4.0 (npm v7.0.15)
Output data contoh di atas menunjukkan bahwa NPM
7.0.15
digunakan dengan node.js
15.4.0
. Mari kita periksa:
$ node -v v15.4.0 $ npm -v 7.0.15
Kami juga dapat menentukan versi yang diperlukan untuk instalasi. Format semantik versi ditentukan oleh SemVer :
$ nvm install 10.14.0
Downloading and installing node v10.14.0...
Downloading https://nodejs.org/dist/v10.14.0/node-v10.14.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v10.14.0 (npm v6.4.1)
Jika versi yang ditentukan sudah diinstal, itu tidak diinstal ulang:
$ nvm install 10.14.0 v10.14.0 is already installed. Now using node v10.14.0 (npm v6.4.1)
Kami dapat menampilkan semua versi yang diinstal:
$ nvm ls -> v10.14.0 v10.15.0 v10.16.0 v12.16.0 v13.9.0 v15.4.0 system default -> 12.16.0 (-> v12.16.0) node -> stable (-> v15.4.0) (default) stable -> 15.4 (-> v15.4.0) (default) iojs -> N/A (default) unstable -> N/A (default) lts/* -> lts/fermium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.23.0 (-> N/A) lts/erbium -> v12.20.0 (-> N/A) lts/fermium -> v14.15.1 (-> N/A)
Pada contoh keluaran di atas, simbol
->
menunjukkan bahwa versi node.js saat ini adalah
10.14.0
. Panah juga mewakili nilai untuk
default
(
12.16.0
),
node
(
15.4.0
) dan
stable
(
15.4.0
).
nvm use
menggantikan versi saat ini:
$ nvm use 12.16.0 Now using node v12.16.0 (npm v6.14.8) $ nvm use 10.16.0 Now using node v10.16.0 (npm v6.14.5) $ nvm use 13.9.0 Now using node v13.9.0 (npm v6.13.7) $ nvm use default Now using node v12.16.0 (npm v6.14.8) $ nvm use node Now using node v15.4.0 (npm v7.0.15) $ nvm use stable Now using node v15.4.0 (npm v7.0.15)
Anda mungkin bertanya bagaimana cara
v10.16.0
menggunakan versi npm than
v13.9.0
. Tugas ini dapat diselesaikan dengan menggunakan perintah berikut:
$ nvm use 10.16.0 $ npm install -g npm@6.14.5
Perintah ini memungkinkan Anda mendapatkan versi npm terbaru yang didukung untuk versi Node.js saat ini:
$ nvm install-latest-npm
nvm use
menginstal versi yang benar hanya untuk shell saat ini. Jika Anda mengubah shell, versi node.js yang baru diperbarui akan hilang.
Bagaimana cara membuat versi Node.js tetap ada?
Versi default adalah versi yang didistribusikan ke semua shell.
Perintah ini
nvm alias
memungkinkan Anda untuk mengatur versi default.
$ nvm alias default 10.16.0
Untuk kenyamanan, Anda dapat membuat file
.nvmrc
yang menerima format SemVer,
node
atau
default
. Setelah itu
nvm use
,
nvm install
,
nvm exec
,
nvm run
dan
nvm which
akan menggunakan versi ditentukan dalam file
.nvmrc
, kecuali baris perintah lain.
$ cat .nvmrc
15.4.0
$ nvm use
Found '/Users/fuje/.nvmrc' with version <15.4.0>
Now using node v15.4.0 (npm v7.0.15)
Kami dapat memeriksa versi saat ini dengan perintah berikut:
$ nvm current v15.4.0
ls-remote
menampilkan semua versi yang tersedia, tetapi bersiaplah untuk daftar yang sangat panjang.
$ nvm ls-remote
Perhatikan bahwa nama versi yang disingkat secara signifikan mempersingkat seluruh daftar.
$ nvm ls-remote 15 v15.0.0 v15.0.1 v15.1.0 v15.2.0 v15.2.1 v15.3.0 -> v15.4.0
nvm which
menunjukkan jalur ke eksekusi di mana ia
nvm
diinstal. Kami telah menginstal versi node.js like
10.14.0
,
10.15.0
dan
10.16.0
. Berikut hasilnya
nvm which
:
$ nvm which 10.14.0
/Users/fuje/.nvm/versions/node/v10.14.0/bin/node
$ nvm which 10.15.0
/Users/fuje/.nvm/versions/node/v10.15.0/bin/node
$ nvm which 10.16.0
/Users/fuje/.nvm/versions/node/v10.16.0/bin/node
$ nvm which 10.15
/Users/fuje/.nvm/versions/node/v10.15.0/bin/node
$ nvm which 10.12
N/A: version "v10.12" is not yet installed.
You need to run "nvm install 10.12" to install it before using it.
$ nvm which 10
/Users/fuje/.nvm/versions/node/v10.16.0/bin/node
Versi Node.js yang ditentukan dapat digunakan secara langsung untuk meluncurkan aplikasi:
$ nvm run 10.15.0 app.js
Alternatifnya, perintah ini dijalankan
node app.js
dengan variabel PATH yang menunjukkan versinya
10.15.0
.
$ nvm exec 10.15.0 node app.js
Jika Anda membutuhkan lebih banyak perintah nvm, jalankan perintah
help
:
$ nvm --help
Peningkatan NVM
Kita dapat menggunakan
nvm
node.js dan npm untuk memperbarui. Tetapi bagaimana cara memperbarui diri saya sendiri
nvm
?
Mari mencoba!
Sebelum memperbarui, kami telah menginstal
nvm
0.34.0
.
Kami memperbarui ke versi 0.37.2.
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13527 100 13527 0 0 23046 0 --:--:-- --:--:-- --:--:-- 23083
=> nvm is already installed in /Users/fuje/.nvm, trying to update using git
=> => Compressing and cleaning up git repository
=> nvm source string already in /Users/fuje/.bash_profile
=> bash_completion source string already in /Users/fuje/.bash_profile
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Seperti yang dinyatakan dalam output, kita perlu menutup dan membuka kembali terminal untuk menggunakan versi baru:
$ nvm --version 0.37.2
Dibandingkan dengan versinya
0.34.0
, versi tersebut telah
0.37.2
menambahkan fungsi
nvm set-colors
untuk keluaran ke konsol. Menampilkan warna berikut secara
default
nvm ls
:
Setel warna baru:
$ nvm set-colors cgYmW
nvm ls
menampilkan keluaran dengan warna baru:
Kesimpulan
nvm
menyederhanakan kontrol versi node.js dan npm. Kami sekarang pasti siap untuk pindah ke node.js 15 dan npm 7. Semoga ini berguna. Publikasi lain oleh penulis dapat ditemukan di sini .