🦀

100日後にRustをちょっと知ってる人になる: [Day 2]開発環境を用意する

2022/08/24に公開

Day 2 のテーマ

Day 1 では、Rust がどのような言語なのかをかなり粗々に概要を調べてみました。
しかし、まだコードは全然記述していません。そもそも開発環境さえ準備をしていません。
そこで Day 2 では、Rust をプログラムできる開発環境を整えようと思います。

次のような点を調べながら開発環境を準備してみます。

  • ランタイムをどのように導入するのか?
  • ビルドパッケージ管理の仕組みは一体どのようなものなのか?
  • 最適なコードエディタは一体何なのか?

ランタイムのインストール

どのようなプログラム言語も動かすためには概ね実行形態を生成するための コンパイラや動作させるために必要な標準ライブラリなどを含むランタイムが必要になります。
Java で言うところの、JDKJRE のようなもののことです。これをインストールする必要たあります。

rustup

ここから始める Rust ということで、Rust の公式ドキュメントを見てみます。
Get Started から始めようとすると、まず最初に Rust のインストールが求められます。ここで推奨されているインストールツールが、rustup です。

以下のコマンドを実行して rustup を取得してインストールが実行されます。

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh

完了すると、次のメッセージが表示されます。

Rust is installed now. Great!

インストールが完了したら、以下のコマンドを実行してバージョンを確認してみましょう。

rustc --version
rustc 1.63.0 (4b91a6ea7 2022-08-08)

rustup サブコマンド

コマンド 説明
show インストールされているツールチェインやプロファイルを表示
update Rustツールチェーンとrustupを更新
check Rustツールチェーンとrustupの更新を確認
default デフォルトのツールチェーンを設定
toolchain インストールされたツールチェーンを変更または問い合わせ
target ツールチェインのサポートされるターゲットを変更
component ツールチェインのインストールされたコンポーネントを変更
override ディレクトリツールチェーンオーバーライドを変更
run えられたツールチェイン用に設定された環境でコマンドを実行
which 与えられたコマンドに対してどのバイナリが実行されるかを表示
doc 現在のツールチェインのドキュメントを表示
man 与えられたコマンドのマニュアルページを表示
self rustupのインストールを修正
set rustupの設定を変更
completions シェル用のタブ補完スクリプトを生成
help ヘルプを表示

Rust のアップデート

rustup の以下のサブコマンドを実行することでアップデートが可能です。

rustup update

Rust のアンインストール

rustup の以下のサブコマンドを実行することでアンインストールが可能です。

rustup self uninstall

参考

Rust のビルドやパッケージ管理の仕組み

Java であれば MavenGradle, Python であれば pip, また Node であれば npm のように各プログラム言語にはその言語で使用するパッケージを管理するためのツールが提供されています。Rust では、Cargo というパッケージ管理ツールを使用します。

Cargo

この Cargorustup で Rust をインストールした際に同時に導入されています。

以下のコマンドで確認してみてください。

cargo --version
cargo 1.63.0 (fd9c4297c 2022-07-01)

この cargo を使って Rust プログラムのビルドやコードが依存しているライブラリにダウンロードなどを実施することが可能です。

cargo サブコマンド

コマンド 説明
build 現在のパッケージをコンパイル
check 現在のパッケージを分析、ただしオブジェクトのビルドは未実施
clean ターゲットディレクトリを削除
doc パッケージとその依存関係のドキュメントをビルド
new 新しいパッケージを作成
init 既存のディレクトリに新しいパッケージを作成
add マニフェスト ファイルに依存関係を追加
run ローカル パッケージのバイナリを実行
test テストを実行
bench ベンチマークを実行
update Cargo.lockにリストされている依存関係を更新
search レジストリを検索
publish パッケージを作成しレジストリにアップロード
install Rustのバイナリをインストール
uninstall Rustのバイナリをアンインストール

Cargo を用いた Rust プロジェクトテンプレートの作成

cargo new <PROJECT_NAME> でプロジェクトテンプレートを作成できます。

cargo new hello-rust
     Created binary (application) `hello-rust` package

以下のような構造のプロジェクトが作成されます。

hello-rust
├── Cargo.toml
└── src
   └── main.rs

コードエディタ

さてプロジェクトテンプレートもできたことなので、これを編集するためにエディタの設定をしたいなと思います。
ここで、どんなエディタが Rust 編集に対応しているのか調べてみました。

Rust の公式ドキュメントにエディタの紹介がありました。

ここには、以下のエディタが掲載されていました。

このうちのどれかを選んで明日からコード編集をやってみようと思います。

Day 2 のまとめ

Rust を Mac の上でビルドしたり動かしたりするための環境を rustup を使用して準備しました。そして、Rust のパッケージマネージャの Cargo を用いてプロジェクトテンプレートを作成してみました。
実際に編集するエディタを決めて設定するところまでは出来ませんでしたけど、明日はそれをやってみたいと思っています。
というような Day 2 でした。

GitHubで編集を提案

Discussion