fnm
)Schneller und einfacher Node.js-Versionsmanager, integriert in Rust
? Plattformübergreifende Unterstützung (macOS, Windows, Linux)
Einzelne Datei, einfache Installation, sofortiger Start
Gebaut mit Blick auf Geschwindigkeit
Funktioniert mit .node-version
und .nvmrc
Dateien
Für bash
, zsh
und fish
-Shells gibt es ein automatisches Installationsskript.
Stellen Sie zunächst sicher, dass curl
und unzip
bereits auf Ihrem Betriebssystem installiert sind. Führen Sie dann Folgendes aus:
curl -fsSL https://fnm.vercel.app/install | bash
Unter macOS ist es so einfach wie brew upgrade fnm
.
Unter anderen Betriebssystemen ist das Aktualisieren von fnm
fast dasselbe wie die Installation. Um Duplikate in Ihrer Shell-Konfigurationsdatei zu verhindern, fügen Sie --skip-shell
hinzu, um den Befehl zu installieren.
--install-dir
Legen Sie ein benutzerdefiniertes Verzeichnis für die Installation von fnm fest. Der Standardwert ist $XDG_DATA_HOME/fnm
(wenn $XDG_DATA_HOME
nicht definiert ist, wird unter Linux auf $HOME/.local/share/fnm
und unter MacOS auf $HOME/Library/Application Support/fnm
zurückgegriffen).
--skip-shell
Überspringen Sie das Anhängen eines Shell-spezifischen Loaders an die Shell-Konfigurationsdatei, basierend auf der aktuellen Benutzer-Shell, definiert in $SHELL
. zB für Bash, $HOME/.bashrc
. $HOME/.zshrc
für Zsh. Für Fish – $HOME/.config/fish/conf.d/fnm.fish
--force-install
macOS-Installationen, die das Installationsskript verwenden, sind zugunsten der Homebrew-Formel veraltet, aber dies zwingt das Skript trotzdem dazu, es zu installieren.
Beispiel:
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir " ./.fnm " --skip-shell
brew install fnm
Richten Sie dann Ihre Shell für fnm ein
winget install Schniz.fnm
scoop install fnm
Richten Sie dann Ihre Shell für fnm ein
choco install fnm
Richten Sie dann Ihre Shell für fnm ein
cargo install fnm
Richten Sie dann Ihre Shell für fnm ein
PATH
verfügbar Um fnm (?) zu entfernen, löschen Sie einfach den Ordner .fnm
in Ihrem Home-Verzeichnis. Sie sollten auch Ihre Shell-Konfiguration bearbeiten, um alle Verweise auf fnm zu entfernen (d. h. Shell-Setup lesen und das Gegenteil tun).
fnm liefert seine Vervollständigungen mit der Binärdatei:
fnm completions --shell < SHELL >
Dabei kann <SHELL>
eine der unterstützten Shells sein:
bash
zsh
fish
powershell
Bitte befolgen Sie die Anweisungen Ihrer Shell, um sie zu installieren.
Umgebungsvariablen müssen eingerichtet werden, bevor Sie fnm verwenden können. Dies erfolgt durch Auswertung der Ausgabe von fnm env
.
Notiz
Sehen Sie sich den Abschnitt „Konfiguration“ an, um dringend empfohlene Funktionen wie den automatischen Versionswechsel zu aktivieren.
Das Hinzufügen einer .node-version
zu Ihrem Projekt ist so einfach wie:
$ node --version
v14.18.3
$ node --version > .node-version
Sehen Sie sich die folgenden Anleitungen für die von Ihnen verwendete Shell an:
Fügen Sie Ihrem .bashrc
Profil Folgendes hinzu:
eval " $( fnm env --use-on-cd --shell bash ) "
Fügen Sie Ihrem .zshrc
Profil Folgendes hinzu:
eval " $( fnm env --use-on-cd --shell zsh ) "
Erstellen Sie ~/.config/fish/conf.d/fnm.fish
und fügen Sie diese Zeile hinzu:
fnm env --use-on-cd --shell fish | source
Fügen Sie am Ende Ihrer Profildatei Folgendes hinzu:
fnm env -- use-on - cd -- shell powershell | Out-String | Invoke-Expression
~/.config/powershell/Microsoft.PowerShell_profile.ps1
notepad $profile
fnm wird ebenfalls unterstützt, ist jedoch nicht vollständig abgedeckt. Sie können ein Startskript für cmd.exe oder Windows Terminal einrichten und die folgenden Zeilen anhängen:
@ 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
)
Die Verwendung ist der normalen WinCMD-Installation sehr ähnlich, abgesehen von einigen Änderungen, die den Aufruf über das cmder-Startskript ermöglichen. Im Beispiel wird davon ausgegangen , dass die Umgebungsvariable CMDER_ROOT
auf das Stammverzeichnis Ihrer Cmder-Installation festgelegt ist. Dann können Sie so etwas tun:
:: %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 "
Sie können %CMDER_ROOT%
auch durch einen anderen geeigneten Pfad ersetzen.
Eine erweiterte Konfigurationsdokumentation finden Sie unter den verfügbaren Konfigurationsoptionen
Eine erweiterte Nutzungsdokumentation finden Sie unter den verfügbaren Befehlen
PRs willkommen?
# Install Rust
git clone https://github.com/Schniz/fnm.git
cd fnm/
cargo build
cargo run -- --help # Will behave like `fnm --help`
cargo test