2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[初学者向け]Rustを触ってみよう① ~環境構築編~

Last updated at Posted at 2024-12-15

はじめに

こんにちは!ITスクールRareTECHにてCS(Customer Support)を担当している池村です。
今回はRustの学習を始める方向けの記事になります。私自身、Rustを触るのは初めてです。いつもは初学者向けの記事を量産しているのですが、自分の勉強にはあまりなっていないと感じていました。じゃあ自分も初めて触れる技術について記事にしていこうと考えた次第です。

対象読者

  • PATHの概念がわかっている方
  • Rust触ってみたい方

なぜRustなのか?

私は今までGoとPythonは触ってきました。
静的かつコンパイラの言語と、動的かつインタプリタの言語に触れてみたものの、メモリについてはそれほど詳しくありません。
もちろんメモリが何をしているかはある程度理解していますが、ガベージコレクションが搭載されている言語の場合、あまりメモリを意識する必要がないことがメリットでデメリットでもあります。メモリを管理する言語はCやC++などがあると思いますが、今から学習するなら新しい言語でメモリについて学びたいと思いました。

特にRustにある所有者という概念が面白そうと思いました。
結局はこの『面白そう』が強いです。
cbd8ada3-a7b1-489c-b1de-9983c5ea3fed_720.png

では早速環境構築してHello Worldをしていきたいと思います。
今回はこちらの書籍をもとに進めていくことにしました。

私は新しい技術を学ぶ時は、本やUdemyなどでとりあえず簡単そうなものを選びます。簡単な本だと挫折しにくいというのが理由です。
そして少しずつ難しめな本に切り替えていきます。もちろん学習の過程でググりまくりますし、AIもバリバリ使っていきます。

インストール

私のMac環境は以下になります。

チップ Apple M1 Pro
OS macOS Sequoia バージョン15.1
PC名 MacBook Pro 14インチ
メモリ 16GB
ストレージ 516GB

そろそろ買い替え時期な気がしますね。(3年以上使用中)

では以下のリンクからRustをインストールしていきます。

インストールコマンド
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
インストール時の選択肢
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>

インストール時に3択の質問がされます。

内容
1) デフォルトの設定でインストールする
2) カスタム設定でインストールする
3) インストールをキャンセルする
>

カスタムは難易度高そうなので、一旦はデフォルトでインストールしてみます。
1と打ってEnterですね。

インストール完了
Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.

This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish"  # For fish

一旦シェルを再起動した方がいいと言われていますね。再起動して、PATHが通っていればOKなようです。

バージョンの確認
rustc --version
バージョン確認完了
rustc 1.83.0 (90b35a623 2024-11-26)

環境構築の際にインストールされるものについて

インストールをするのは簡単ですが、実際はどういった設定がされているかは理解しておきましょう。

  • Cargo(カーゴ)と呼ばれるパッケージマネジャー
    これはホームディレクトリに.cargoというディレクトリが作られ、その中の.cargo/binの中にRustで使うコマンド類が準備されているようです。
    image.png

  • rustup
    これはRust本体のバージョンを変更したりできるコマンドですね。

  • rustc
    これはRustでコンパイルするためのコマンドです。Rustはコンパイラ型の言語なので、機械語に翻訳するためのコマンドになります。

  • clippy
    linterですね。要はコードのいい書き方や誤りを指摘してくれるものです。これ標準で入ってるんですね。面白い。

  • rustfmt
    コードを整形してくれるformatterですね。これも標準搭載か〜。

Hello World!してみよう

シンプルにコンパイルから実行

早速ファイルを作って、Hello World!をしてみます。
今回は適当なディレクトリを作成して、その中にファイルを作ってみます。私はVimを使いますが、基本的にエディタはなんでも大丈夫です。VSCodeでも使ってください。

main.rs
fn main() {
   println!("Hello World!") ;
}

ではコンパイルして実行ですね。この辺りはGoやJavaなどとも手順は一緒です。インタプリタ型の言語しか使ったことがない人は、以下の点を意識してみましょう。

  1. ファイルを作成
  2. 中身にコードを記述して保存
  3. コンパイルを行う
  4. 実行する

シェルでファイルを作成するなら

ファイルの作成
touch main.rs

か、Vimでファイルを作成しつつ開くことも可能です。

Vimで開く
vim main.rs

VSCodeの場合はcodeコマンドのPATHを通している前提で以下のコマンドを叩きましょう。

VSCode
code main.rs

コンパイル

コンパイル
rustc main.rs

実行

実行方法
./main

image.png

これ以外にCargoを使った実行方法もあるので、そちらも見ていきましょう。

Cargoの利用

Cargoを使うときは、プロジェクトが作成されます。new以降のプロジェクト名は適当で大丈夫です。今回はtest_helloにします。要はパッケージを作っているんですね。

Cargoでプロジェクトを作成
cargo new test_hello

このコマンドを叩くと以下のようなディレクトリが勝手に生成されます。

プロジェクトの中身
.
└── test_hello
    ├── Cargo.toml
    └── src
        └── main.rs

3 directories, 2 files

ではこのmain.rsにコードを書いていきましょう。と、思ったらすでに書いてありました。勝手に書かれているとはびっくりです。
image.png

ここで勝手に作られているファイルはなんなのか見ていきましょう。

Cargo.toml

これはCargoの設定ファイルですね。TOML形式で書かれています。今回作られたRustのパッケージ情報が書かれているみたいですね。

Cargo.tomlの中身
[package]
name = "test_hello"
version = "0.1.0"
edition = "2021"

[dependencies]

.git.gitignore

これはGitHubなどで使われるディレクトリとファイルですね。Gitにpushしたくないものなどを書いておくことで、その通りにGitコマンドが動きます。

Cargoでの実行方法

実行方法
cargo run

このコマンドを実行すると、コンパイルと実行を同時にしてくれます。
image.png

便利ですね。コンパイルと実行を別々にすることもできます。
コンパイル(ビルド)

build
cargo build

実行

実行
target/debug/test_hello

おわりに

やはり新しい言語を触るのはワクワクしますね。
でもこれからどんどん難しくなると思うので、気合い入れて理解していきます。
同じようにRustを触り始めた人は一緒に頑張っていきましょう。
次の記事では標準搭載のformatterやlinterを使ってみようかなと思います。あとVimのRust用プラグインも調べて入れておかないとですね。

また次回の記事も見てくれると嬉しいです。

余談

Rustはなんで蟹なんだろう、、今度調べよう。
0044b294-06ea-4dfa-a697-59192533cb91_720.png

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?