はじめに
どんなプログラミング言語でも、環境ごとにその言語のバージョンを固定して、開発したい場合があると思います。
rustを使っているときもそんな場面はあると思います。
今回は、rustupで簡単にバージョン管理する方法を書いていきます。
rustupとは
rustupとは、公式にはthe Rust toolchain installerとあります。
rustupを使えば、Rustを簡単にインストールし、コンパイラバージョンを簡単に切り替えることができます。
基本的には公式ドキュメントを読めばできることは把握できると思います。
バージョンを指定する
Rustのバージョンを指定する方法は大きく2通りあります。
- rustupのコマンドを使い、ディレクトリ単位で指定する
- rust-toolchain.toml、または、rust-toolchainファイルを作成し、プロジェクト単位で指定する
1つ目の方法では、rustup overriveを使用し、ディレクトリにツールチェーンを割り当てることで、そのディレクトリと、そのディレクトリの子ディレクトリで、rustcやcargoを使ってプロジェクトを作成した際に、指定してrustのバージョンでプロジェクトを作成することができます。
$ rustup override set [rust version]
2つ目の方法では、プロジェクトディレクトリにrust-toolchainファイルを作成することで、rustのバージョンを指定します。こちらの方法ではプロジェクト単位でバージョン指定ができ、複数人で開発をする際などに有用なのではと思います。
またバージョンだけでなく、アプリケーションのプラットフォームなども管理できます。
[toolchain]
channel = "nightly-2020-07-10"
components = [ "rustfmt", "rustc-dev" ]
targets = [ "wasm32-unknown-unknown", "thumbv2-none-eabi" ]
profile = "minimal"
私は、アプリケーションを開発する場合は、toolchainファイルで管理し、Rustの機能を試す場合などの、リリースするものではない場合には、ディレクトリ単位でバージョン指定し、複数のプロジェクトを作って開発しています。
おわり
今回は、rustupでRustのバージョン管理をする方法を書きましたが、他にもいろいろな機能があるので、気になった方は試してみてください。