Tutorials

Rust(プログラミング言語)のインストールから最初のコード実行まで【2026年最新手順】

「Rustに興味はあるけれど、インストールでつまずきそう」「所有権が難しそうで一歩踏み出せない」と感じていませんか。本記事では、Rust(プログラミング言語)をゼロから始めて、最初のコードを動かすところまでを30〜60分で体験できる手順にまとめました。OSごとの環境構築、Hello World、所有権の体験、よくあるエラーの対処まで、この1ページで完結します。

この記事でやること(全体チェックリスト):

  • 1. rustupで環境構築(macOS / Linux / Windows)
  • 2. Hello World をcargo runで実行
  • 3. 変数・型の基本コードを動かす
  • 4. 所有権のエラーと借用を体験する
  • 5. トラブルシューティングで詰まりを解消する

Rustとは何か、なぜ2026年に学ぶ価値があるのか

Rustは、Mozillaが開発を支援してきたシステムプログラミング言語で、安全性・速度・並行性の3つを高水準で両立しています。Stack Overflow Developer Survey では2016年から2025年まで10年連続で「最も愛されているプログラミング言語」1位に選ばれており、回答者の80%以上が「来年も使い続けたい」と答えています。これは他の主要言語にはない極めて異例の支持率です。

2026年の現在、Rustは「いつか流行るかもしれない」段階をすでに越えています。Microsoft(Windowsの一部コンポーネント)、Google(AndroidとFuchsia OSのカーネル領域)、Amazon(AWS Firecracker)、そしてLinuxカーネル本体にも採用されており、私たちが毎日使うインフラの中核で動いています。つまりRustを学ぶことは、業界の次のスタンダードを先取りする行為と言えます。

技術的な強みも明確です。Rustは「ゼロコスト抽象化」と呼ばれる設計思想によって、C/C++と同等の実行速度を維持しながら、ガベージコレクタを必要としません。さらに「ボローチェッカー」と呼ばれるコンパイル時の検査機構が、C/C++で多発するバッファオーバーフローやNULLポインタ参照といった致命的なバグを実行前に防止します。

この記事の所要時間は、インストールを含めて30〜60分が目安です。読み終わるころには、自分のPCでRustコードをコンパイル・実行できる状態になっています。

始める前に確認すること(前提条件・準備するもの)

必要なものはシンプルで、PC(Windows・macOS・Linuxのいずれか)とインターネット接続だけです。特別な開発環境やライセンスは一切不要で、すべて無料で揃います。エディタはお好みのもので構いませんが、Rust拡張機能(rust-analyzer)が充実しているVisual Studio Codeがおすすめです。

ターミナル(macOS/LinuxではTerminal、WindowsではコマンドプロンプトまたはPowerShell)の基本操作ができれば十分です。具体的には、コマンドを入力してEnterで実行できること、cdでフォルダ移動ができること、この2つだけです。プログラミング自体が初めての方も、本記事の手順通りに進めれば問題なく完了できます。

今すぐ試したい人向け:Rust Playground(インストール不要)

「インストールの前に、まずRustがどんなものか触ってみたい」という方には、ブラウザだけで完結する公式のRust Playgroundがおすすめです。コードを書いて「Run」ボタンを押すだけで、サーバー上でコンパイル・実行された結果が表示されます。

Rust Playgroundは標準ライブラリと主要なクレート(ライブラリ)も利用できるため、簡単な検証なら本格的な環境構築なしで完了します。学習中に「この書き方は通るのか?」と気になったときの確認用としても便利です。

Rustのインストール方法

Rustのインストールは、公式ツール「rustup」を使えばたった1コマンドで完了します。rustupはコンパイラ本体(rustc)、パッケージマネージャ(Cargo)、ドキュメント、複数バージョンの管理機能をまとめて提供する公式ツールチェーンマネージャです。

macOS / Linux の場合

ターミナルを開いて、以下のコマンドを1行貼り付けて実行してください。これはRust公式サイトが案内している正式な方法です。

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

インストーラが起動したら、最初の選択肢で「1」を選んで標準インストールを進めます。完了後、現在のターミナルセッションにパスを反映させるために次のコマンドを実行します。

source "$HOME/.cargo/env"

最後にバージョンを確認しましょう。以下の2つで数字が表示されればインストール成功です。

rustc --version
cargo --version

Windows の場合

Windowsでは、https://rustup.rs/ にアクセスして「rustup-init.exe」をダウンロードし、ダブルクリックで起動します。インストーラがコマンドプロンプト風の画面を開いたら、「1」を入力してEnterで標準インストールが始まります。

注意点として、WindowsでRustをビルドするには「Visual Studio C++ Build Tools」が必要です。未インストールの場合はrustup-init.exeが案内を表示してくれるので、画面の指示に従ってMicrosoftの公式サイトから導入してください。

インストール完了後、新しいコマンドプロンプトを開いてrustc --versioncargo --versionでバージョンが表示されれば準備完了です。

Cargoで最初のRustプログラムを書く

環境が整ったら、いよいよ最初のコードを動かしていきます。RustではCargoというツールがプロジェクト作成・ビルド・実行・テスト・依存管理をすべて担当するため、手順はとても短く済みます。

Hello, World! を実行する

任意の作業フォルダに移動し、以下のコマンドで新規プロジェクトを作成します。hello_worldという名前のフォルダが自動生成されます。

cargo new hello_world
cd hello_world

src/main.rsをエディタで開くと、すでにHello Worldのコードが書かれています。fn main()がプログラムの入口、println!は文字列を出力するマクロです(マクロは末尾の!が目印です)。

fn main() {
    println!("Hello, world!");
}

実行するには、プロジェクトフォルダ内で次のコマンドを打つだけです。コンパイルと実行が自動で行われ、ターミナルにHello, world!が表示されたら成功です。

cargo run

変数と基本的な型を使ってみる

次は変数と型に触れてみましょう。Rustではletで変数を宣言しますが、デフォルトでは「不変(immutable)」で、後から値を変更できません。変更したい場合はlet mutと書きます。

fn main() {
    let name = "Claude";        // 不変
    let mut count: i32 = 0;     // 可変な整数(i32は32ビット整数。整数型はi8〜i128など範囲で選べるが、迷ったらi32かi64で問題ない)
    count = count + 1;
    let is_ready: bool = true;  // 真偽値
    println!("{} is ready: {}, count = {}", name, is_ready, count);
}

{}は埋め込み記法で、println!の引数を順番に差し込みます。型を明示しなくてもRustが推論してくれるので、最初は型注釈なしで書き始めて、必要に応じて: i32のように追記するのがおすすめです。

Rust最大の特徴「所有権」を体験する

ここがRust学習で最初の山場でありながら、最大の魅力でもある部分です。

このセクションでやること:

  • 所有権の3つのルールを把握する
  • コンパイルエラーになる例を読む
  • 借用(&)で修正して動かす

所有権の3つのルールとイメージ

所有権(ownership)とは「あるデータの持ち主は常に1人だけ」というシンプルなルールで、これによってRustはガベージコレクタなしでメモリ安全性を実現しています。具体的には次の3つのルールで成り立っています。

  1. 値には必ず1つの所有者(変数)が存在する
  2. 所有者がスコープを抜けると、値は自動的に解放される
  3. 所有権は同時に1か所にしか存在できない

イメージとしては「図書館の本」が分かりやすいです。本(データ)の所有者は図書館(変数)であり、利用者に貸し出すときは「借用」という形を取ります。利用者は本を読む(参照する)ことはできても、勝手に処分したり、他の人にまた貸ししたりはできません。Rustの&(参照)はまさにこの「借りるだけ」の関係です。

所有権エラーの例

たとえば、次のコードはコンパイルエラーになります。s1が文字列の所有権をs2に渡してしまうため、s1はもう使えなくなるからです。

fn main() {
    let s1 = String::from("hello");
    let s2 = s1;           // 所有権がs1からs2へ移動(ムーブ)
    println!("{}", s1);    // エラー: s1は所有権を失っている
}

借用(&)で解決する

これを「借用」で書き換えると正しく動きます。&s1は「s1を借りるだけ」という意味で、所有権はs1に残ったままです。

fn main() {
    let s1 = String::from("hello");
    let s2 = &s1;          // s1を借用(参照)
    println!("s1 = {}, s2 = {}", s1, s2);  // どちらも使える
}

最初はエラーが多発して戸惑うかもしれませんが、これは欠点ではなく安全網です。他の言語では実行時に発生していたバグを、Rustはコンパイル時にすべて指摘してくれます。動いた瞬間に「メモリ安全」が保証されているのは、Rust以外ではなかなか得られない安心感です。

よくある失敗と対処法(トラブルシューティング)

実際に手を動かすと、いくつかの典型的なエラーに出会います。代表的な3つと対処法をまとめました。

1. rustupcargoコマンドが見つからない(command not found)

パスが通っていないケースがほとんどです。macOS/Linuxではsource "$HOME/.cargo/env"を実行するか、ターミナルを一度閉じて開き直してください。Windowsでは新しいコマンドプロンプトを開けば反映されます。

2. Windowsでlink.exe関連のエラーが出る

Visual Studio C++ Build Toolsが未インストールです。Microsoftの公式ページから「Build Tools for Visual Studio」をダウンロードし、インストール時に「C++によるデスクトップ開発」のワークロードを選択してください。インストール後にrustupを再実行すれば解決します。

3. 所有権エラー(borrow of moved value)で詰まる

学習初期は.clone()を使ってデータを複製することで一時的に回避できます。たとえばlet s2 = s1.clone();とすれば、s1s2の両方が使えます。理解が深まってから&による借用に置き換えていけば、性能と安全性を両立できます。

Rust入門後に学ぶべきこと・おすすめ学習リソース

最初のコードが動いたら、次はRustらしい書き方を体系的に学ぶフェーズです。幸い、Rustは公式の学習リソースが非常に充実しており、しかも大半が無料で読めます。

公式学習リソース3選

  • The Rust Programming Language(日本語版・通称 the book) — Rust公式の入門書。所有権・ライフタイム・トレイトまで体系的に網羅した決定版です。
  • Rust by Example — 短いコード例を中心に学べる公式リソース。「文法を見て覚えたい派」におすすめです。
  • Rustlings — 穴埋め式の演習問題を解きながら手で覚えていくインタラクティブ教材。

2026年のRustエコシステム

エコシステムも2026年現在、AIコーディングツール、ターミナルアプリ、WebAssembly分野で爆発的に成長しています(GitHub Top Trending Rust Projects 2026)。GitHubのトレンドにも常にRust製プロジェクトが並んでおり、学んだ知識をすぐに実用に結びつけられる環境が整っています。

まとめ

Rust(プログラミング言語)のインストールから最初のコード実行までは、rustup の 1コマンド・cargo newcargo runの3ステップで完了します。Rustは「難しい言語」ではなく、「コンパイラが厳しい分、動いたら安全が保証される言語」です。エラーメッセージも丁寧で、つまずきポイントを的確に教えてくれます。

まずは本記事の手順でHello Worldを動かし、次に所有権の比較コードを写経して、コンパイラとの対話を体験してみてください。慣れてきたらthe book日本語版を1章ずつ読み進めるのが王道ルートです。2026年、世界中の主要インフラが採用する言語を、自分の手で動かす一歩を今日踏み出しましょう。

おすすめ書籍

Rustをさらに深く学びたい方におすすめの書籍です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です