cargo install
でCrates.ioからバイナリをインストールする
cargo install
コマンドにより、バイナリクレートをローカルにインストールし、使用することができます。
これは、システムパッケージを置き換えることを意図したものではありません。即ち、
Rustの開発者が、他人がcrates.ioに共有したツールをインストールするのに便利な方法を意味するのです。
バイナリターゲットを持つパッケージのみインストールできることに注意してください。バイナリターゲットとは、
クレートがsrc/main.rsファイルやバイナリとして指定された他のファイルを持つ場合に生成される実行可能なプログラムのことであり、
単独では実行不可能なものの、他のプログラムに含むのには適しているライブラリターゲットとは一線を画します。
通常、クレートには、READMEファイルに、クレートがライブラリかバイナリターゲットか、両方をもつかという情報があります。
cargo install
でインストールされるバイナリは全て、インストールのルートのbinフォルダに保持されます。
Rustをrustup
を使用し、独自の設定を何も行なっていなければ、このディレクトリは、$HOME/.cargo/binになります。
cargo install
でインストールしたプログラムを実行できるようにするためには、そのディレクトリが$PATH
に含まれていることを確かめてください。
例えば、第12章で、ファイルを検索するripgrep
というgrep
ツールのRust版があることに触れました。
ripgrep
をインストールしたかったら、以下を実行することができます:
$ cargo install ripgrep
Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading ripgrep v0.3.2
--snip--
Compiling ripgrep v0.3.2
Finished release [optimized + debuginfo] target(s) in 97.91 secs
Installing ~/.cargo/bin/rg
出力の最後の行が、インストールされたバイナリの位置と名前を示していて、ripgrep
の場合、rg
です。
インストールディレクトリが$PATH
に存在する限り、前述したように、rg --help
を走らせて、
より高速でRustらしいファイル検索ツールを使用し始めることができます!