Nu installieren

Der aktuell beste Weg Nu zu bekommen ist, es von crates.ioopen in new window zu installieren, Binärdateien von unserer Release-Seiteopen in new window herunterzuladen oder es selbst zu kompilieren.

Binärdatei

Von der Release-Seiteopen in new window kann Nushell bereits kompiliert heruntergeladen werden. Alternativ kann Nushell, wenn Homebrewopen in new window verwendet wird, mit dem Befehl brew install nushell installiert werden. Unter Windows können Wingetopen in new window oder Chocolateyopen in new window zur Installation verwendet werden: winget install nushell beziehungsweise choco install nushell.

Windows

Achtung: Nu funtioniert aktuell auf Windows 10 und hat keine Unterstützung für Windows 7/8.1.

Die aktuelle, veröffentlichte .zip-Datei von der Release-Seiteopen in new window herunterladen und den Inhalt extrahieren nach:

C:\Program Files

Danach den nu beinhaltenden Ordner der Umgebungsvariable PATH hinzufügen. Wenn das passiert ist, kann nu wie folgt gestartet werden:

> nu
C:\Users\user>

Für Nutzer des Windows Terminalopen in new window kann nu als Standard-Shell gesetzt werden, indem:

{
  "guid": "{2b372ca1-1ee2-403d-a839-6d63077ad871}",
  "hidden": false,
  "icon": "https://www.nushell.sh/icon.png",
  "name": "Nu Shell",
  "commandline": "nu.exe"
}

zu "profiles" in den Terminal Einstellungen (JSON-Datei) hinzufügt wird. Zu guter Letzt, muss nur noch "defaultProfile" angepasst werden:

"defaultProfile": "{2b372ca1-1ee2-403d-a839-6d63077ad871}",

Jetzt sollte sich nu beim Start von Windows Terminal öffnen.

Vorbereitungen

Bevor Nu installiert werden kann, muss sichergestellt werden, dass das System die nötigen Anforderungen erfüllt. Aktuell bedeutet das sicherzustellen, dass die Rust-Toolchain und lokale Abhängigkeiten installiert sind.

Installieren einer Compiler-Suite

Damit Rust richtig funktioniert, muss eine kompatible Compiler-Suite auf dem System installiert sein. Die empfohlenen Compiler-Suites sind:

Rust installieren

Wenn Rust noch nicht auf dem System installiert ist, ist rustupopen in new window der beste Weg es zu bekommen. Rustup ist ein Programm um Rust-Installationen zu managen wie beispielsweise verschiedene Rust-Versionen.

Nu benötigt aktuell die latest stable (1.55 oder neuer) Version von Rust. Der einfachste Weg ist es, rustup die korrekte Version für finden zu lassen. Wenn rustup zum ersten Mal gestartet wird, wird nachgefragt, welche Version installiert werden soll:

Current installation options:

default host triple: x86_64-unknown-linux-gnu
default toolchain: stable
profile: default
modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

Wenn Sie bereit sind, drücken Sie 1 und dann Enter.

Wenn Rust nicht via rustup installiert werden soll, können auch andere Methoden verwendet werden um es zu installieren (z.B. vom Paketmanager der Linux-Distro). Dabei muss sichergestellt werden, dass es sich um Rust-Version 1.55 oder neuer handelt.

Abhängigkeiten

Debian/Ubuntu

Es müssen die Pakete pkg-config und libssl-dev installiert werden:

apt install pkg-config libssl-dev

Linux-Nutzer die die optionalen Funktionen rawkey und clipboard verwenden möchten, müssen außerdem die Pakete libx11-dev und libxcb-composite0-dev installieren:

apt install libxcb-composite0-dev libx11-dev

RHEL basierte Distributionen

Für RHEL basierte Distributionen müssen die Pakete libxcb, openssl-devel und libX11-devel installiert werden:

yum install libxcb openssl-devel libX11-devel

macOS

Mittels Homebrewopen in new window, müssen die Pakete openssl und cmake über folgenden Befehl installiert werden:

brew install openssl cmake

Installieren von crates.ioopen in new window

Wenn alle die Abhängigkeitenn, die für Nu benötigt werden, installiert sind, kann cargo verwendet werden um Nu zu installieren.

> cargo install nu

Das war's! Cargo wird Nu und seine anderen Abhängigkeiten herunterladen, kompilieren und schließlich im cargo bin Pfad installieren, damit es benutzt werden kann.

Wenn mehr Funktionalitäten installiert werden sollen, kann der folgende Befehl verwendet werden:

> cargo install nu --features=extra

Um alle verfügbaren Funktionalitäten zu bekommen, ist es am einfachsten einen Checkout durchzuführen und es selbst mit Hilfe der Rust-Tools zu kompilieren:

> git clone https://github.com/nushell/nushell.git
> cd nushell
nushell> cargo install --path . --features=extra

Damit das funktioniert, sollte sichergestellt werden, dass alle oben genannten Abhängigkeiten auf dem System installiert sind.

Wenn Nu schließlich installiert ist, kann die Shell mit dem nu-Befehl gestartet werden:

$ nu
/home/jt/Source>

Kompilieren von Quelldateien

Nu kann auch direkt aus den Quelldateien, die auf GitHub verfügbar sind, kompiliert werden. Das stellt unmittelbar die neuesten Funktionen und Fehlerbehebungen von Nu zur Verfügung.

> git clone https://github.com/nushell/nushell.git

Git clont das main nushell Repo. Von da aus, kann Nu, wenn rustup verwendet wird, wie folgt kompiliert und gestartet werden:

> cd nushell
nushell> cargo build --workspace --features=extra && cargo run --features=extra

Nu kann auch in "release" Modus kompiliert und gestartet werden:

nushell> cargo build --release --workspace --features=extra && cargo run --release --features=extra

Leute, die sich mit Rust auskennen, wundern sich womöglich, warum hier sowohl ein build als auch ein run durchgeführt wird, obwohl run standardmäßig auch einen Build durchführt. Das ist nötig, um ein Problem mit der neuen default-run-Option von Cargo zu umgehen, damit alle Plugins kompiliert werden. Dies wird unter Umständen in Zukunft nicht mehr nötig sein.

Als Login-Shell verwenden

!!! Nu befindet sich noch in der Entwicklung und ist unter Umständen nicht stabil genug für die tägliche Nutzung. !!!

Um die Login-Shell festzulegen, kann der Befehl chshopen in new window verwendet werden. Manche Linux-Distributionen haben eine Liste von erlaubten Shells in /etc/shells und verbieten es die Shell zu ändern, bis Nu in der Whitelist ist. Wenn die shells-Datei nicht abgeändert wurde, erscheint vielleicht einen ähnlichen Fehler, wie:

chsh: /home/username/.cargo/bin/nu is an invalid shell

Nu kann zur Liste der erlaubte Shells hinzugefügt werden, indem der Pfad von nu der shells-Datei angefügt wird. Der Pfad, der hinzugefügt werden muss, kann mit dem Befehl which nu herausgefunden werden. Normalerweise ist es $HOME/.cargo/bin/nu.