Rustパッケージを更新する

作成日

2021年10月2日

Rust のパッケージは Cargo.toml で管理されていますが,npm のように install コマンドで全てのパッケージが簡単に更新できるような感じではないようです.

パッケージの個別更新

最新バージョンに更新

以下のコマンドで最新バージョンに更新します.

terminal
$ cargo update -p PACKAGE

install コマンドでもできるらしいです.

terminal
$ 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 も更新されます.

mktia's note

Research & Engineering / Blockchain / Web Dev

© 2017-2025 mktia. All rights reserved.