Rustパッケージを更新する
Rust のパッケージは Cargo.toml で管理されていますが,npm のように install
コマンドで全てのパッケージが簡単に更新できるような感じではないようです.
パッケージの個別更新
最新バージョンに更新
以下のコマンドで最新バージョンに更新します.
terminal
$ cargo update -p PACKAGE
install
コマンドでもできるらしいです.
$ cargo install -f PACKAGE
特定バージョンに更新
オプションをつければバージョン指定も可能です.
terminal
$ cargo update -p PACKAGE --precise x.x.x
パッケージの一括更新
cargo-update
というパッケージを一括でアップロードするツールがあります.
terminal
$ cargo install cargo-update
$ cargo install-update -a
実行すると全てのパッケージが依存関係を壊さないようになるべく新しいバージョンにアップデートされます.
エラー
install
コマンドを使用したときに以下のエラーが発生することがあります.
This command manages Cargo's local set of installed binary crates. Only packages which have executable [[bin]] or [[example]] targets can be installed, and all executables are installed into the installation root's bin folder.
参考:cargo install - The Cargo Book
パッケージが実行可能ファイルを持っていない場合は install
コマンドを使用できないようです.
この場合は Cargo.toml ファイルを編集する必要があります.
インストールしたいパッケージのバージョンとその依存関係は crates.io で調べることができます.
Cargo.toml 編集後に cargo build
するとパッケージをフェッチでき,
この際 Cargo.lock も更新されます.