Rustでコーディングをしていて、yarn upgrade等のように、cargo.tomlのdependenciesを一気にアップデートしたくなったので、調べたところ、方法があったのでメモがてら書きます。
広告
目次
cargoのデフォルトにはない
サブコマンドを追加するツールを入れていない、デフォルトのcargoではそういったコマンドもありません。最初のcargo.tomlは自動生成してくれますが、それ以後は(ツールを追加しない限りは)直接編集です。
結論: cargo-editで追加されるcargo upgradeを使う
結論は見出しの通りです。cargo-editはcargo add(cargo.tomlのdependenciesにパッケージを追加するコマンド)やcargo rm(cargo addの逆、cargo.tomlのdependenciesからパッケージを取り除く)を使うためにインストールしていたので、サクッと使用できました。cargo-editすごい。
cargo-editとは
cargoにサブコマンドadd, rm, upgradeを追加するツールです。これを使うと、yarn等のパッケージ管理ツールのように。cargo.tomlのdependenciesを管理することができます。
インストール方法
cargoが入っており、ネットにつながっていさえすれば、下記コマンドを実行すればインストールできます。
cargo install cargo-edit
cargo upgradeについて
先にも書きましたが、cargo.tomlのdependenciesのバージョン更新に使用できます。
cargo upgrade
というように、dependencies内のパッケージを指定せず、引数なしで実行することで実行したディレクトリ内のcargo.tomlのdependenciesのパッケージをすべて更新してくれます。
もちろん、
cargo upgrade <crateName>
というように、パッケージを指定して更新することも可能です。
ワークスペースでは、–allオプションをつければ一気に更新してくれる模様。ほかにもいろいろオプションがある(cargo upgrade -hで確認可能)ようです。便利。
その他コメントなど
実はcargo.tomlを編集するためにvscodeにTOMLのシンタックスハイライトをしてくれるプラグインを追加しようかと迷っていたのですが、cargo-editのおかげであまり必要がなくなりまして、助かっています。cargo-editちょうべんり。