0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MacにRust環境を構築

Last updated at Posted at 2022-06-20

はじめに

2年ぶりにMac (Monterey)にRust開発環境を構築してみて、構築方法が変わっていました。構築方法を検索してみると古い情報が混じっていてわかりにくかったので、メモとして残しておきます。

2022年6月での情報です。情報が古くなっている場合は、コメント欄で教えていただけると助かります。

インストール

以下の公式サイトに従ってインストールしていきます。

ターミナルから以下のコマンドを入力します。

ターミナル
% curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Homebrewでインストールしたい場合は、以下を参照して下さい。

インストールできているか確認します。

ターミナル
% rustup --version        
rustup 1.24.3 (ce5817a94 2021-05-31)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.61.0 (fe5b13d68 2022-05-18)`

VS Code 拡張

コマンドラインからテストプロジェクト(test_rust)を作成します。
プロジェクトを作成するのは必須ではないのですが、後でプロジェクをビルドしてデバッグするのでここで作成しておきます。

ターミナル
% cargo new test_rust

VS Codeでtest_rustフォルダを開きます。

次に、2つのVS Code拡張をインストールします。

  • rust-analyzer (コード補完、定義の表示等)
  • CodeLLDB (デバッグに必要)

以前は、VS Code拡張のRustをインストールしていたのですが、非推奨になっているので、rust-analyzerをインストールしました。

デバッグその1

main.rsを開くとmain関数の上に▶︎Run|Debugと表示されています。
Runをクリックすると実行、Debugをクリックするとデバッグ実行されます。
通常は、この方法でいいと思います。
image.png

デバッグその2

実行時の引数を指定したい場合は、こちらの方法になります。
create a launch.json fileをクリックします。
image.png
次に、LLDBを選択します。
image.png

rust-analyzerがCargo.tomlを認識すると以下のダイアログが表示されるので、Yesを押すとlaunch.jsonが作成されます。
デバッグ実行とUnitテスト実行用の設定が作成されます。
実行時の引数を追加したい場合は、launch.jsonを編集します。

rust-analyzerをインストールした直後はCargo.tomlが認識されず、正しい設定ファイルが作成されなかったのですが、Macを再起動すると認識しました。

まとめ

VS Codeを使ってrustのプログラムを開発する、最低限必要の環境を構築しました。
久しぶりに環境構築しましたが、いろいろ変わっていて戸惑いました。
環境も新しくなったのでRustのコーディングを楽しみたいと思います。

0
3
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
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?