# 安装 Nu

有很多方法可以获取并使用 Nu。你可以从我们的发布页面 (opens new window)下载预编译的二进制文件,也可以 使用你喜欢的软件包管理器 (opens new window),或者从源码构建。

# 预编译二进制包

Nu 二进制文件在 GitHub 的 Release 页 (opens new window)发布,适用于 Linux、macOS 和 Windows。只需下载并解压二进制文件,然后将其复制到你的系统PATH上的某个位置即可。

# 软件包管理器

Nu 可以通过几个软件包管理器获得:

打包状态 (opens new window)

对于 macOS 和 Linux,Homebrew (opens new window)是一个流行的选择(brew install nushell)。

对于 Windows 用户:

# 从源码构建

你也可以从源代码构建Nu。首先,你需要设置 Rust 工具链和它的依赖项。

# 安装编译器套件

为了使 Rust 能够正常工作,你需要在你的系统上安装一个兼容的编译器套件。以下是推荐的编译器套件:

# 安装 Rust

如果我们的系统中还没有 Rust,最好的方法是通过 rustup (opens new window) 来安装它。Rustup 是一种管理 Rust 安装的工具,可以管理使用不同的 Rust 版本。

Nu 目前需要 最新(1.59 或更高)的稳定 版本的 Rust。最好的方法是让rustup为你找到正确的版本。当你第一次打开rustup时,它会询问你想安装哪个版本的 Rust:

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

一旦我们准备好了,我们就按 1,然后回车。

如果你不愿意通过rustup来安装 Rust,你也可以通过其他方法来安装它(比如从 Linux 发行版的软件包中)。只要确保安装 1.59 或更高版本的 Rust 即可。

# 依赖

# Debian/Ubuntu

你将需要安装 "pkg-config" 和 "libssl-dev" 包:

apt install pkg-config libssl-dev

对于希望使用 "rawkey" 或 "clipboard" 可选功能的 Linux 用户,需要安装 "libx11-dev" 和 "libxcb-composite0-dev" 软件包。

apt install libxcb-composite0-dev libx11-dev

# 基于 RHEL 的发行版

你需要安装 "libxcb"、"openssl-devel" 和 "libX11-devel":

yum install libxcb openssl-devel libX11-devel

# macOS

使用 Homebrew (opens new window),你需要通过如下方式安装 "openssl" 和 "cmake" :

brew install openssl cmake

# 使用 crates.io (opens new window)进行构建

Nu 发行版会作为源码发布到流行的 Rust 包仓库 crates.io (opens new window),这使得使用 cargo 构建并安装最新的 Nu 版本变得很容易:

> cargo install nu

如此即可! cargo工具将完成下载 Nu 及其源码依赖,构建并将其安装到 cargo bin 路径中,以便我们能够运行它。

如果你想安装更多的功能,你可以使用:

> cargo install nu --features=extra

安装完毕后,我们可以使用 nu 命令运行 Nu:

$ nu
/home/jt/Source>

# 从 GitHub 仓库构建

我们也可以从 GitHub 上的最新源码构建自己的 Nu。这让我们可以立即获得最新的功能和错误修复。首先,克隆源码仓库:

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

然后,我们可以用以下方式构建和运行 Nu:

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

你也可以在发布模式下构建和运行 Nu:

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

熟悉 Rust 的人可能会问,如果 "run" 默认会构建,为什么我们还要做 "build" 和 "run" 这两个步骤?这是为了解决 Cargo 中新的 default-run 选项的缺陷,并确保所有插件都被构建,尽管这在将来可能不再需要。

# 设置登录 Shell (*nix)

!!! Nu 仍在开发中,对于日常使用可能并不稳定。!!!

要设置登录 Shell,你可以使用chsh (opens new window)命令。 一些 Linux 发行版有一个位于/etc/shells的有效 Shell 列表,在 Nu 被列入白名单之前不允许改变 Shell。如果你没有更新shells文件,你可能会看到类似于下面的错误:

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

你可以通过在shells文件中添加你的 Nu 二进制文件来把 Nu 添加到允许的 Shells 列表中。 添加的路径可以用which nu命令找到,通常是$HOME/.cargo/bin/nu

# 设置默认的 Shell (Windows 终端)

如果你使用的是 Windows Terminal (opens new window),你可以通过添加如下内容到你的终端设置"profiles"(JSON 文件)中来设置nu作为你的默认 Shell:

{
  "guid": "{2b372ca1-1ee2-403d-a839-6d63077ad871}",
  "hidden": false,
  "name": "Nu Shell",
  "commandline": "nu.exe"
}

最后需要做的是将 "defaultProfile" 改为:

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

之后,nu 应该会在 Windows Terminal 启动时被加载。