cargo install で導入したものを一括アップデートしたいなと思い cargo-update
を試してみました.
install
$ cargo install cargo-update
help
$ cargo install-update --help cargo-install-update 15.0.0 наб <nabijaczleweli@nabijaczleweli.xyz> Yann Simon <yann.simon.fr@gmail.com> ven <vendethiel@hotmail.fr> Cat Plus Plus <piotrlegnica@piotrl.pl> Liigo <liigo@qq.com> azyobuzin <azyobuzin@users.sourceforge.jp> Tatsuyuki Ishi <ishitatsuyuki@gmail.com> Tom Prince <tom.prince@twistedmatrix.com> Mateusz Mikuła <mati865@gmail.com> sinkuu <sinkuupump@gmail.com> Alex Burka <aburka@seas.upenn.edu> Matthias Krüger <matthias.krueger@famsik.de> Daniel Holbert <dholbert@cs.stanford.edu> Jonas Bushart <jonas@bushart.org> Harrison Metzger <harrisonmetz@gmail.com> Benjamin Bannier <bbannier@gmail.com> Dimitris Apostolou <dimitris.apostolou@icloud.com> Corbin Uselton <corbinu@decimal.io> QuarticCat <QuarticCat@protonmail.com> Artur Sinila <freesoftware@logarithmus.dev> qthree <qthree3@gmail.com> Marcin Puc <tranzystorek.io@protonmail.com> Paul Barker <paul@pbarker.dev> Benoît CORTIER <bcortier@proton.me> Biswapriyo Nath <nathbappai@gmail.com> Shiraz <smcclennon@protonmail.com> Victor Song <vms2@rice.edu> chrisalcantara <chris@chrisalcantara.com> Utkarsh Gupta <utkarshgupta137@gmail.com> nevsal A cargo subcommand for checking and applying updates to installed executables USAGE: cargo install-update [OPTIONS] [--] [PACKAGE]... ARGS: <PACKAGE>... Packages to update OPTIONS: -a, --all Update all packages -c, --cargo-dir <CARGO_DIR> The cargo home directory. Default: $CARGO_HOME or $HOME/.cargo [aliases: root] -d, --downdate Downdate packages to match latest unyanked registry version -f, --force Update all packages regardless if they need updating -g, --git Also update git packages -h, --help Print help information -i, --allow-no-update Allow for fresh-installing packages -j, --jobs <JOBS> Limit number of parallel jobs. -l, --list Don't update packages, only list and check if they need an update (all packages by default) --locked Enforce packages' embedded Cargo.lock -q, --quiet No output printed to stdout -r, --install-cargo <EXECUTABLE> Specify an alternative cargo to run for installations -s, --filter <PACKAGE_FILTER> Specify a filter a package must match to be considered -t, --temp-dir <TEMP_DIR> The temporary directory. Default: $TEMP/cargo-update -V, --version Print version information
-l
/ --list
でアップデートの確認ができます.
$ cargo install-update --list Polling registry 'https://index.crates.io/'......... Package Installed Latest Needs update impala v0.2.1 v0.2.3 Yes pik v0.7.0 v0.9.0 Yes sniffnet v1.0.1 v1.3.1 Yes tuisky v0.0.5 v0.1.2 Yes zeitfetch v0.1.12 v0.1.13 Yes cargo-update v15.0.0 v15.0.0 No monolith v2.8.3 v2.8.3 No tui-journal v0.12.0 v0.12.0 No zellij v0.40.1 v0.40.1 No
-a
/ --all
でアップデートできるようです.
index アップデート,ダウンロード,コンパイルが実行されます.
$ cargo install-update --all Polling registry 'https://index.crates.io/'......... :
再度 -l
/ --list
で確認すると Installed と Latest が同じになり,Needs update が全て No になっています.最新になったようです.
$ cargo install-update --list Polling registry 'https://index.crates.io/'......... Package Installed Latest Needs update cargo-update v15.0.0 v15.0.0 No impala v0.2.3 v0.2.3 No monolith v2.8.3 v2.8.3 No pik v0.9.0 v0.9.0 No sniffnet v1.3.1 v1.3.1 No tui-journal v0.12.0 v0.12.0 No tuisky v0.1.2 v0.1.2 No zeitfetch v0.1.13 v0.1.13 No zellij v0.40.1 v0.40.1 No
大分楽になりました.
環境
$ dpkg-query -W cargo cargo 1.81.0+dfsg1-2 $ lsb_release -dr Description: Debian GNU/Linux trixie/sid Release: n/a $ arch x86_64
One thought to “Cargoで導入したRustパッケージをcargo-updateで一括更新”