# Nuのインストール
今のところNuをインストールするもっともよい方法は、crates.io (opens new window)からインストールするか、ビルド済のバイナリーをリリースページ (opens new window)からダウンロードするか、ソースからビルドすることです。 Dockerを利用してビルド済のコンテナをプルしてくる方法もあります。
# ビルド済みのバイナリー
ビルド済のNuはリリースページ (opens new window)からダウンロードできます。もし、macOSでHomebrew (opens new window) を利用しているなら、brew install nushell
を実行して、バイナリーをインストールできます。
# Windows
Note NuはWindows 10で動作しますが、現在のところ7/8.1はサポートされていません。
リリースページ (opens new window)から.zip
ファイルをダウンロードして、例えば次の箇所に解凍します。
C:\Program Files
そして、nu
フォルダをPATHに追加します。これが済めば、nu
コマンドでNuを起動できます。
> nu
C:\Users\user>
もし、Windows Terminal (opens new window)を使っているなら、次のようにしてnu
をデフォルトシェルに指定できます。
{
"guid": "{2b372ca1-1ee2-403d-a839-6d63077ad871}",
"hidden": false,
"name": "Nu Shell",
"commandline": "nu.exe"
}
この設定をTerminal Settingsの"profiles"
に追加します。そして、"defaultProfile"
を次のように変更します。
"defaultProfile": "{2b372ca1-1ee2-403d-a839-6d63077ad871}",
これでnu
がWindows Terminalの起動時にロードされます。
# ビルド済のDockerコンテナ
ビルド済のDockerコンテナをプルしたい場合はQuay.io上でnushell organization (opens new window)のためのタグを閲覧できます。 コンテナのプルは以下のように行います。
$ docker pull quay.io/nushell/nu
$ docker pull quay.io/nushell/nu-base
"nu-base"と"nu"のどちらにもバイナリーが含まれますが、nu-baseには/code
内にソースコードと全ての依存関係も含まれています。
dockerfiles (opens new window)を利用してローカルでコンテナをビルドすることもできます。 ベースイメージをビルドするには:
$ docker build -f docker/Dockerfile.nu-base -t nushell/nu-base .
そして、小さなコンテナをビルドするには(マルチステージビルドを利用):
$ docker build -f docker/Dockerfile -t nushell/nu .
どちらの方法でも、次のようにコンテナを実行できます:
$ docker run -it nushell/nu-base
$ docker run -it nushell/nu
/> exit
サイズを重要視する場合は、2番目のコンテナのほうが少し小さくなります。
# 事前準備
Nuをインストールする前に、システムに必要なツールがそろっているか確認する必要があります。現在、Rustのツールチェインといくつかの依存関係が必要です。
# コンパイラスイートのインストール
Rustが適切に機能するには、互換性のあるコンパイラスイートがシステムにインストールされている必要があります。推奨されるコンパイラスイートは次のとおりです。
- Linux: GCC or Clang
- macOS: Clang (install Xcode)
- Windows: Visual Studio Community Edition (opens new window)
LinuxとmacOSの場合、コンパイラのインストールが完了すれば、rustup
でのRustのインストールの準備が整います。
Windowsの場合、Visual Studio Community Editionをインストールするときに、「C ++ビルドツール」をインストールする必要があります。
オプショナルなインストールとして提供されているlink.exe
が必要なためです。これで次のステップに進む準備ができました。
# Rustのインストール
Rustがシステムにまだインストールされていない場合は、rustup (opens new window)を利用してRustをインストールする方法がベストです。Rustupは、異なるRustのバージョンのインストールを管理するツールです。
Nuは現在、最新のstable(1.46 or later) バージョンのRustを必要とします。
rustup
で正しいversionを選択するのが良い方法です。
最初に"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ディストリビューションのパッケージから)
その場合でもRustの1.46以上のバージョンがインストールされるようにしてください。
# 依存関係
# 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 based distros
"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)からのインストール
必要となる依存関係が準備できたら、Rustコンパイラーに付属しているcargo
を使って、Nuをインストールできます。
cargoはNuとそのソースの依存関係をダウンロードし、ビルドしたあと、実行できるようにcargoのbin pathにインストールします。
> cargo install nu
これでおしまいです!cargo
はNuのソースコードとその依存関係をダウンロードしてビルドし、cargo
のバイナリーパスにインストールすることでNuを実行できるようにします。
より多くの機能をインストールするには、次のようにします。
> cargo install nu --features=extra
すべての機能を利用するための最も簡単な方法はNuをチェックアウトして、Rustツールを利用してビルドすることです。
> git clone https://github.com/nushell/nushell.git
> cd nushell
nushell> cargo install --path . --force --features=extra
上で示したすべての依存関係がシステムにあることを確認してください。
インストールが完了すると、nu
コマンドでNuを実行できます。
$ nu
/home/jonathan/Source>
# ソースからビルド
githubのソースから直接ビルドすることもできます。こうすることで、最新の機能やバグ修正にすぐにアクセスすることができます。
> git clone https://github.com/nushell/nushell.git
Gitでメインのnushellリポジトリをクローンし、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
オプションの欠点を回避し、全てのプラグインがビルドされるようにするためですが、将来的には必要なくなるかもしれません。
# ログインシェルとして設定するには
!!! Nuは開発中なので、日常使いのシェルとしての安定性を欠く可能性があります!!!
chsh
(opens new window)コマンドを使用して、ログインシェルを設定できます。
一部のLinuxディストリビューションには/etc/shells
に有効なシェルのリストが記載されており、Nuがホワイトリストに登録されるまで変更ができません。
shells
ファイルを更新していない場合は次のようなエラーが表示される場合があります。
chsh: /home/username/.cargo/bin/nu is an invalid shell
Nuバイナリをshells
ファイルに追加することにより、許可されたシェルのリストにNuを追加できます。
追加するパスはwhich nu
コマンドで見つけることができます。通常は$HOME/.cargo/bin/nu
です。
はじめに →