Rustはじめました WSL2にRustを入れてHello Worldまで

概要:Rustはじめました WSL2にRustを入れてHello Worldまで

システムプログラミング言語らしいので、通常では使うことはない、使えないけれど、クリエイティブコーディングができるそうなので、それ目的でしてみようかと。

Rustのインストール

これは公式ページのコマンドからインストールで間違いないです。
スルスルっとインストール完了します。

www.rust-lang.org

インストール出来たか確認します。
バージョンが表示されれば問題なし。

rustc --version //プロンプト省略、、、

Hello World

まずはこれから。

cargo new hello_world

上記のコマンドで、Rustプロジェクトを作成すれば、main.rsにそれっぽいのが用意してあります。
cargoはビルドシステムを兼ね備えたパッケージマネージャ。

それで、さっそくコンパイルと、、、

rustc ./src/main.rs

エラーです!
linker 'cc' not found

ccがない!!そうです。???

調べてみますと、C言語用のコンパイラーが必要ということらしいです。

Ubuntuに、build-essentialという、essential(不可欠)というぐらいなのがあるようで、これをインストールします。

sudo apt install build-essential

packages.ubuntu.com

気を取り直して、再コンパイルと。

プロジェクトのルートにmainという実行ファイルの出来上がりです。
実行します。

./main

無事にHello, world!と表示されました。

が、この方法は将来よくないことが起こりそうなので、、、

プロジェクトを作成する時に使用したcargoでビルドしていきます。

cargo build

そうしますと、今度は、

./target/debug/hello_world

という実行ファイルが作成されました。
これを実行しますと、無事にHello, world!と表示されました。

プロジェクトを作成しますと、もれなくgitもついてきます。
gitignoreを見ますと、targetが指定されていますので、これで実行ファイルがそのまま公開されるようなことは避けられます。

VSCode拡張機能

rust-analyzer(公式)というVSCode拡張機能があるそうで入れてみますが、、、
なんだかうまくいきません。
調べると同じような状況になっている方もいらっしゃるようで。

ふと、WSLを使う場合、VSCodelinuxにはなくて、Windowsに入れたんだよな???と思い出す。
今開いているRustプロジェクトもローカルで開いているし、なんか違う気がする。
Ubuntuから開けるには、、、 WSLと接続して、、、開きました!

これで拡張機能rust-analyzerをUbuntuにもインストール出来て、エラーが出なくなりました。
rust-analyzer、どういう時に便利なのかわかっていませんが、環境構築のひとつとして完了です。

あまりに問題がないので書くことがなくなったWindows環境。。。

概要:あまりに問題がないので書くことがなくなったWindows環境。。。

いやぁーほんとにまったく問題なく使用しています。
もちろん自分の利用する範囲でのことになりますが。

例えば、、、

イメージ画像の作成もAffinity Designerで今まで通り。
多少、フォントまわりで作業が発生しますけど。

csvファイルを編集する作業もOpenOfficeで何も変わらず。
数万行のデータの場合は作業効率が落ちますが、月にあるかないかの作業なので。

Node環境でのNextjsやAstroなどのプライベート開発もまったく問題なし。
wsl2上のubuntu内で動作中です。

Macだったので

すでにずっとWindows環境で作業されてきた方には、いったい何を言っているんだ、そんなこと当たり前だろう!と思われるでしょうが、長い間、オーバースペックぎみのMac環境で作業してきていた身には驚きがあるのです。
それにi7やi9の高性能マシンではなく、ミニPC?なので、なおさらの驚きなのです。

nakamka.hatenablog.com

新しい?OS

それにやはり慣れていないOSは興味が沸いてより楽しいです。
どうやって便利に使っていこうかといろいろとショートカットを知っていくのも楽しいです。
あとはこのPC本体が何年使用に耐えるかでしょうか。

書くことがなかったので

書くことがなかったので、公開するには耐えない内容になりました。
最近、液タブを使うようになってきているので、今後はその周辺のことなども備忘録として更新していけたらと考えています。