[Tips] Rustで依存ライブラリをGitHubから直接落とすときにコミットIDを指定して落とす

2020.08.25

こんにちは、CX事業本部の夏目です。

最近LambdaをRustで書いているのですが、ライブラリ周りで少し変なことをしたので共有します。

GitHubからライブラリを落とす

Rustの依存ライブラリは基本的に crates.ioから落とします。

crates.io: Rust Package Registry

しかし、ここで公開されているものよりもGitHubにおいてあるコードの方を使いたくことがあります。

RustのツールであるCargoを使えばGitHubのコードを使うこともできて、多くのブログなどでも次のように書けば行けると紹介されてます。

[dependencies]
lambda_http = { git = "https://github.com/awslabs/aws-lambda-rust-runtime/", branch = "master"}

しかし、この書き方だと常にmasterブランチの内容を使うので内容が変わって動かなくなることもあるかもしれません。

コミットIDを指定して使用する

次のように書けば、特定のコミットIDを使用することができます。

[dependencies]
lambda_http = { git = "https://github.com/awslabs/aws-lambda-rust-runtime/", rev = "a9de2fcb24030a00e402348aba3c368b717feb6d"}

まとめ

以上です。 GitHubから直接ライブラリを落とさないといけなくなったときとか使ってみてください。