cargo installでバイナリをインストールする

cargo installコマンドにより、バイナリクレートをローカルにインストールし、使用することができます。 これは、システムパッケージを置き換えることを意図したものではありません。(すなわ)ち、 Rustの開発者が、他人がcrates.ioに共有したツールをインストールするのに便利な方法を意味するのです。 バイナリターゲットを持つパッケージのみインストールできることに注意してください。バイナリターゲットとは、 クレートがsrc/main.rsファイルやバイナリとして指定された他のファイルを持つ場合に生成される実行可能なプログラムのことであり、 単独では実行不可能なものの、他のプログラムに含むのには適しているライブラリターゲットとは一線を画します。 通常、クレートには、READMEファイルに、クレートがライブラリかバイナリターゲットか、両方をもつかという情報があります。

cargo installでインストールされるバイナリは全て、インストールのルートのbinフォルダに保持されます。 rustup.rsを使用しRustをインストールし、独自の設定を何も行なっていなければ、このディレクトリは、$HOME/.cargo/binになります。 cargo installでインストールしたプログラムを実行できるようにするためには、そのディレクトリが$PATHに含まれていることを確かめてください。

例えば、第12章で、ファイルを検索するripgrepというgrepツールのRust版があることに触れました。 ripgrepをインストールするには、以下を実行することができます:

$ cargo install ripgrep
    Updating crates.io index
  Downloaded ripgrep v13.0.0
  Downloaded 1 crate (243.3 KB) in 0.88s
  Installing ripgrep v13.0.0
--snip--
   Compiling ripgrep v13.0.0
    Finished release [optimized + debuginfo] target(s) in 3m 10s
  Installing ~/.cargo/bin/rg
   Installed package `ripgrep v13.0.0` (executable `rg`)

出力の最後から2番目の行が、インストールされたバイナリの位置と名前を示していて、ripgrepの場合、rgです。 インストールディレクトリが$PATHに存在する限り、前述したように、rg --helpを走らせて、 より高速でRustらしいファイル検索ツールを使用し始めることができます!