この記事は一歩ずつRustに慣れていくTypeScriptエンジニアの記録 Advent Calendar 2024の1日目の記事になります。
また、筆者が属している株式会社野村総合研究所のアドベントカレンダーもあるので、ぜひ購読ください。
このアドベントカレンダーについて
初回なので、アドベントカレンダーの目的を書いておきます。
筆者はTypeScript歴とVue歴がそれぞれ5年程度のエンジニアで、業務では主にフロントエンド領域を担当しています。
昨今のフロントエンド領域では、従来のTypeScriptに加えRustの存在感が増してきています。高速な開発ツールは大体Rust製ですし、WASMという技術を使ってアプリケーションの動作そのものも担うケースも出てきました。
筆者はその流れに触発されて最近Rustを勉強しています。このアドベントカレンダーは、TypeScriptチョットデキルな筆者がRustの主な機能や仕様をちょっとずつ勉強するシリーズになっています。
TypeScriptとの対比を示していければいいなぁと考えています。
筆者はRust初学者なので、もし不正確であったり誤っていたりした場合はコメントでご指摘いただけると幸いです。
Rustをインストールする
今回はRustを開発端末にインストールすることがゴールです。
公式サイトに従うのが一番なので、まずはそれを見てみましょう。
このページにアクセスすると、あなたが使っているOSに応じたインストール方法が提示されています。
MacOSやLinuxであればコマンドが、Windowsであれば実行ファイルへのリンクが貼られています。
Rustのコンパイルにはリンカが必要で、別途インストールする必要があります。MacOSであればXCodeが、WindowsであればVisual Studioが提供するものが一般的でしょうか。(このあたりは公式サイトや検索結果上位を見て進めていただくのが確実です)
PATH
を設定する
インストールに成功すると、~/.cargo/bin
にもろもろのツールチェーンが置かれます。
今後、Rustで開発をするうえで使うコマンドの実体はこのディレクトリ配下にあるため、PATH
環境変数にこのパスを追加しておきましょう。
Rustのインストールの過程で自動的に追加されるようですが、反映には再起動が必要であり、何かしらの不具合でそもそも追加されないケースが考えられるため、自身の手で追加するとよいでしょう。
Rustファイルをコンパイルして実行してみる
早速Rustのファイルを書いて実行してみましょう。
Rustのソースコードを実行するには、コンパイルして実行可能ファイルを生成する必要があります。コンパイルにはrustc
コマンドを使用します。
まずはソースコードを用意しましょう。適当なディレクトリで以下のようなファイルを作成します。
fn main() {
println!("Hello, world!");
}
次に、このファイルがあるディレクトリで以下のコマンドを実行します。
rustc helloworld.rs
実行すると、同じディレクトリに新しくhelloworld
というファイルが生成されます。
root@k4nd4windows:/work/rust/sample# ll
total 3952
drwxr-xr-x 2 root root 4096 Nov 8 20:18 ./
drwxr-xr-x 4 root root 4096 Nov 8 20:17 ../
-rwxr-xr-x 1 root root 4026664 Nov 8 20:18 helloworld*
-rw-r--r-- 1 root root 80 Nov 8 20:18 helloworld.rs
このファイルを実行するとターミナルにHello, world!
が表示されます(つまり、ソースコードで書いた処理が実行されたということです!)。
このように、Rustで書いたプログラムを実行するには、コンパイルをして実行可能ファイルを生成する必要があります。
一般的に、Rustアプリケーションを開発する際は直にrustc
コマンドを実行するより、次回に紹介するCargoというツールチェーンを利用します。
これでひとまずRustのソースコードを書き、それを実行する環境は整いました。次回にCargoを使ったビルドや実行方法を確認し、その後様々な記法を取り上げていきます。
ちなみにですが、筆者はIDEとしてRustRoverを使用しています。もともとWebstormユーザなので、その流れでJetBrainsのRust向けIDEを選びました。非商用利用であれば無料なので、ぜひ使ってみてください。