[環境構築]Rustインストール , Hello World, Hello Cargo　実施メモ [Win11]

以下の本の使用言語がRustだったため、環境構築を行った際のメモです

https://direct.gihyo.jp/view/item/000000003560

# 公式手順を参照
https://doc.rust-jp.rs/book-ja/ch01-01-installation.html
公式手順との差異
・Rust用の作業フォルダを作ってにメタデータ、ツールチェーンといったファイル群を移動したこと
・インストーラのコンソールの文言の和訳を乗せていること

## Windows側の準備
-[ ] Rust用の作業スペースを作りgitリポジトリを作成する
## インストール作業
-[ ] Rustのインストーラをダウンロードする
-[ ] rustup-init.exeの実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/9f3c0b16-dd63-daf9-bf6f-6f92eee2b56d.png)

---

Rust Visual C++ の前提条件
Rust には Microsoft Visual Studio 2013 以降の Microsoft C++ ビルドツールが必要ですが、インストールされていないようです。
ビルドツールは Microsoft Visual Studio をインストールすることで入手できます。
https://visualstudio.microsoft.com/downloads/
「C++によるデスクトップ開発」にチェックを入れると、必要なコンポーネントがインストールされます。ロケールの言語が英語でない場合は、言語パックで英語にチェックを入れてください。
詳細は次を参照してください:
https://rust-lang.github.io/rustup/installation/windows-msvc.html
C++ ビルドツールをインストールしてから進んでください。
GNU ABI をターゲットにする場合や他に理由があって確実である場合には、ビルドツールなしでインストールを続行しても問題ありませんが、そうでない場合は C++ ビルドツールをインストールしてから進んでください。
続けますか？ (y/N)

---
- [ ] VisualStudioでC＋＋ビルドツールをインストール（インストール済みだったので2022）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/d6190631-4e5b-6bd0-6f8f-c40560d5827f.png)
-[ ] 1.86GB
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/164c92c7-6edd-4691-bd08-0f1bdd63f42d.png)
-[ ] rustup-init.exeの実行（スクショなし）
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
  C:\Users\{ユーザ名}\.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
  C:\Users\{ユーザ名}\.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
  C:\Users\{ユーザ名}\.cargo\bin
This path will then be added to your PATH environment variable by
modifying the HKEY_CURRENT_USER/Environment/PATH registry key.
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
   default host triple: x86_64-pc-windows-msvc
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation

---

ようこそ Rust へ！
これにより、Rust プログラミング言語の公式コンパイラとパッケージマネージャー Cargo がダウンロードおよびインストールされます。
Rustup のメタデータとツールチェーンは、次の Rustup ホームディレクトリにインストールされます:
C:\Users\{ユーザ名}\.rustup
これは RUSTUP_HOME 環境変数で変更可能です。
Cargo のホームディレクトリは次の場所にあります:
C:\Users\{ユーザ名}\.cargo
これは CARGO_HOME 環境変数で変更可能です。
cargo、rustc、rustup などのコマンドは、次の Cargo の bin ディレクトリに追加されます:
C:\Users\{ユーザ名}\.cargo\bin
このパスは、HKEY_CURRENT_USER/Environment/PATH レジストリキーを変更することで PATH 環境変数に追加されます。
いつでも rustup self uninstall を使ってアンインストールでき、これらの変更は元に戻されます。
現在のインストールオプション:
デフォルトホストトリプル: x86_64-pc-windows-msvc デフォルトツールチェーン: stable (デフォルト) プロファイル: デフォルト PATH 変数を変更: はい
標準インストールを進める (デフォルト - Enter キーを押すだけ)
インストールをカスタマイズ
インストールをキャンセル

---
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/7fe38fca-4c23-5e11-4135-f0e5add83310.png)

info: プロファイルが「default」に設定されました
info: デフォルトホストトリプルを x86_64-pc-windows-msvc に設定しています
info: 「stable-x86_64-pc-windows-msvc」チャンネルの更新を同期しています
info: 2024-10-17 の最新更新、Rust バージョン 1.82.0 (f6e511eec 2024-10-15)
info: コンポーネント「cargo」をダウンロードしています
6.6 MiB / 6.6 MiB (100 %) 1.8 MiB/s で 2 秒 経過 残り 0 秒
info: コンポーネント「clippy」をダウンロードしています
info: コンポーネント「rust-docs」をダウンロードしています
16.3 MiB / 16.3 MiB (100 %) 2.8 MiB/s で 6 秒 経過 残り 0 秒
info: コンポーネント「rust-std」をダウンロードしています
19.5 MiB / 19.5 MiB (100 %) 4.9 MiB/s で 4 秒 経過 残り 0 秒
info: コンポーネント「rustc」をダウンロードしています
62.0 MiB / 62.0 MiB (100 %) 3.6 MiB/s で 18 秒 経過 残り 0 秒
info: コンポーネント「rustfmt」をダウンロードしています
info: コンポーネント「cargo」をインストールしています
info: コンポーネント「clippy」をインストールしています
info: コンポーネント「rust-docs」をインストールしています
16.3 MiB / 16.3 MiB (100 %) 2.1 MiB/s で 7 秒 経過 残り 0 秒
info: コンポーネント「rust-std」をインストールしています
19.5 MiB / 19.5 MiB (100 %) 15.0 MiB/s で 1 秒 経過 残り 0 秒
info: コンポーネント「rustc」をインストールしています
62.0 MiB / 62.0 MiB (100 %) 17.6 MiB/s で 3 秒 経過 残り 0 秒
info: コンポーネント「rustfmt」をインストールしています
info: デフォルトツールチェーンが「stable-x86_64-pc-windows-msvc」に設定されました

stable-x86_64-pc-windows-msvc がインストールされました - rustc 1.82.0 (f6e511eec 2024-10-15)

Rust のインストールが完了しました。おめでとうございます！

始めるためには、現在のシェルを再起動する必要があるかもしれません。
これにより、PATH 環境変数が再読み込みされ、Cargo の bin ディレクトリ (%USERPROFILE%.cargo\bin) が含まれます。

続行するには Enter キーを押してください。

---
## 環境変数の変更
-[ ] .rustupフォルダと.cargoフォルダをC:\Users\{ユーザ名}\からRust用作業スペースに切り取りして貼り付け
-[ ] RUSTUP_HOME 環境変数設定（Rust用の作業スペースに）
-[ ] CARGO_HOME 環境変数設定（Rust用の作業スペースに）
-[ ] PATH変数のC:\Users\{ユーザ名}\.cargo\binを変更（Rust用の作業スペースに）

---
## インストール結果とパス変更の確認
-[ ] rustc --version　パスが通っていることを確認
-[ ] バージョンアップの確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/dd8d7126-094b-8849-f425-209bcdc76a0b.png)

-[ ] rustup doc　ドキュメンテーションの確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/071191c5-6a8f-04ff-e447-fdd32b2c1abc.png)
## Hello, World!
-[ ] Rust用の作業スペースにprojectフォルダを作成する
-[ ] projectフォルダにテキストファイルを新規作成し、main.rsとリネームする
-[ ] main.rsにHello,Worldを書き込み保存する
'''
fn main() {
    // 世界よ、こんにちは
    println!("Hello, world!");
}
'''
-[ ] コマンドプロンプトを立ち上げ、projectフォルダへカレントディレクトリを変更してからrustc {Rust用の作業スペース}\project\main.rsを実行する
-[ ] main.pdb、main.exeがカレントディレクトリに作成されていることを確認する
-[ ] コマンドプロンプトからmain.exeを実行するとHello World
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/90f3a7f5-3448-94f3-8987-14799bc76af1.png)
## Hello, Cargo!
-[ ] cargo --version　cargoがインストールされていることを確認
＞ cargo 1.82.0 (8f40fc59f 2024-08-21)
-[ ] cargo new hello_cargo カーゴコマンドでハローカーゴプロジェクトを作成＞hello_cargoフォルダとプロジェクトに最低限必要なものが作成される(HelloWorldが記載済みのmain.rsなど)
-[ ] cargo build　＞ hello_cargoフォルダ内にtarget/debugフォルダが作成され、中にファイルがビルドされる
-[ ] cargo check ＞ ビルドはせずにコンパイルエラーをチェックする
-[ ] cargo run　＞ ビルドとビルドしたファイルの実行を行う
-[ ] cargo build　--release ＞ hello_cargoフォルダ内にtarget/releaseフォルダが作成され、中にファイルがビルドされる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569906/c7245afb-cc32-7a60-14e5-70ec8304aa90.png)