fnm
)Manajer versi Node.js yang cepat dan sederhana, dibangun di Rust
? Dukungan lintas platform (macOS, Windows, Linux)
File tunggal, instalasi mudah, startup instan
Dibangun dengan mempertimbangkan kecepatan
Bekerja dengan file .node-version
dan .nvmrc
Untuk bash
, zsh
dan fish
shells, ada skrip instalasi otomatis.
Pertama pastikan curl
dan unzip
sudah terinstal di sistem operasi Anda. Kemudian jalankan:
curl -fsSL https://fnm.vercel.app/install | bash
Di macOS, ini semudah brew upgrade fnm
.
Pada sistem operasi lain, mengupgrade fnm
hampir sama dengan menginstalnya. Untuk mencegah duplikasi dalam file konfigurasi shell Anda, tambahkan perintah --skip-shell
untuk menginstal.
--install-dir
Tetapkan direktori khusus untuk fnm yang akan diinstal. Standarnya adalah $XDG_DATA_HOME/fnm
(jika $XDG_DATA_HOME
tidak ditentukan maka akan kembali ke $HOME/.local/share/fnm
di linux dan $HOME/Library/Application Support/fnm
di MacOS).
--skip-shell
Lewati penambahan pemuat khusus shell ke file konfigurasi shell, berdasarkan shell pengguna saat ini, yang ditentukan dalam $SHELL
. misalnya untuk Bash, $HOME/.bashrc
. $HOME/.zshrc
untuk Zsh. Untuk Ikan - $HOME/.config/fish/conf.d/fnm.fish
--force-install
Penginstalan MacOS yang menggunakan skrip penginstalan sudah tidak digunakan lagi dan hanya menggunakan rumus Homebrew, namun hal ini memaksa skrip untuk tetap menginstal menggunakan skrip tersebut.
Contoh:
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir " ./.fnm " --skip-shell
brew install fnm
Kemudian, siapkan shell Anda untuk fnm
winget install Schniz.fnm
scoop install fnm
Kemudian, siapkan shell Anda untuk fnm
choco install fnm
Kemudian, siapkan shell Anda untuk fnm
cargo install fnm
Kemudian, siapkan shell Anda untuk fnm
PATH
Untuk menghapus fnm (?), cukup hapus folder .fnm
di direktori home Anda. Anda juga harus mengedit konfigurasi shell Anda untuk menghapus referensi apa pun ke fnm (yaitu membaca Shell Setup, dan melakukan yang sebaliknya).
fnm mengirimkan penyelesaiannya dengan biner:
fnm completions --shell < SHELL >
Dimana <SHELL>
dapat menjadi salah satu shell yang didukung:
bash
zsh
fish
powershell
Silakan ikuti instruksi shell Anda untuk menginstalnya.
Variabel lingkungan perlu diatur sebelum Anda dapat mulai menggunakan fnm. Hal ini dilakukan dengan mengevaluasi keluaran fnm env
.
Catatan
Lihat bagian Konfigurasi untuk mengaktifkan fitur yang sangat direkomendasikan, seperti peralihan versi otomatis.
Menambahkan .node-version
ke proyek Anda semudah:
$ node --version
v14.18.3
$ node --version > .node-version
Lihat panduan berikut untuk shell yang Anda gunakan:
Tambahkan yang berikut ini ke profil .bashrc
Anda:
eval " $( fnm env --use-on-cd --shell bash ) "
Tambahkan yang berikut ini ke profil .zshrc
Anda:
eval " $( fnm env --use-on-cd --shell zsh ) "
Buat ~/.config/fish/conf.d/fnm.fish
dan tambahkan baris ini ke dalamnya:
fnm env --use-on-cd --shell fish | source
Tambahkan yang berikut ini ke akhir file profil Anda:
fnm env -- use-on - cd -- shell powershell | Out-String | Invoke-Expression
~/.config/powershell/Microsoft.PowerShell_profile.ps1
notepad $profile
fnm juga didukung tetapi tidak sepenuhnya tercakup. Anda dapat menyiapkan skrip startup untuk cmd.exe atau Terminal Windows dan menambahkan baris berikut:
@ echo off
:: for /F will launch a new instance of cmd so we create a guard to prevent an infnite loop
if not defined FNM_AUTORUN_GUARD (
set " FNM_AUTORUN_GUARD = AutorunGuard "
FOR /f " tokens=* " %%z IN ('fnm env --use-on-cd') DO CALL %%z
)
Penggunaannya sangat mirip dengan instalasi WinCMD normal, kecuali beberapa penyesuaian untuk memungkinkan dipanggil dari skrip startup cmder. Contoh ini mengasumsikan bahwa variabel lingkungan CMDER_ROOT
diatur ke direktori root instalasi Cmder Anda. Kemudian Anda dapat melakukan sesuatu seperti ini:
:: %CMDER_ROOT%binfnm_init.cmd
@ echo off
FOR /f " tokens=* " %%z IN ('fnm env --use-on-cd') DO CALL %%z
:: %CMDER_ROOT%configuser_profile.cmd
call " %CMDER_ROOT% binfnm_init.cmd "
Anda juga dapat mengganti %CMDER_ROOT%
dengan jalur lain yang mudah digunakan.
Lihat opsi konfigurasi yang tersedia untuk dokumentasi konfigurasi tambahan
Lihat perintah yang tersedia untuk dokumentasi penggunaan tambahan
Selamat datang PR?
# Install Rust
git clone https://github.com/Schniz/fnm.git
cd fnm/
cargo build
cargo run -- --help # Will behave like `fnm --help`
cargo test