新型コロナ禍以降は在宅勤務で、そもそも我が家の電気料金は増加気味なのですが、それにも増しての最近の電気料金の高騰を鑑みて、家庭内の省電力化のために消費電力の大きい「Intel入ってる」なマシンに代えて、しばらく前に購入はしたもののあまり稼働していなかったMicrosoftのWindows Dev Kit 2023にUbuntuを入れて使い始めました。
そんな訳で、メインの開発環境をこのWindows Dev Kit 2023で動くUbuntuに以降しようとゴニョゴニョと画策しているのですが、その際の作業の過程を自分のためにもメモしていこうかな?と…
まずはMicrosoft Edit (Microsoft Text Editor)
最近オープンソースでリリースされたMicrosoft謹製の軽量テキストエディターです。
リポジトリの名前がedit.git
で、出来上がった実行ファイルもedit
になっちゃう辺りが実にMicrosoftらしいですが、これもこの際だからインストールしてみました。
git clone https://github.com/microsoft/edit.git microsoft_edit
う〜ん、やっぱりリポジトリの格納ディレクトリがedit
なのはちょっと…と言うことで、ファイルはmicrosoft_edit
に展開しましたw
Nodeならnvm、PythonだとPyEnvやAnacondaなどと同じようにRustのバージョン管理や環境構築をサポートしてくれるツールRustupが入っていないなら以下のようにしてまずはapt
でrustup
をインストールします。
sudo apt install rustup
続いて、インストールされたrustup
を使いRustの最新バージョンnightly
ビルドをインストールします。
※ドキュメントREADME.md
でそのように支持されていたので素直に従いましたが、安定ばんのRustでビルド可能かどうか?は未確認です。
rustup install nightly
続いて、同じくrustup
を使いARM64 Linux向けのツールチェインnightly-aarch64-unknown-linux-gnu
をインストールします。
rustup component add rust-src --toolchain nightly-aarch64-unknown-linux-gnu
ここまででRustを使ってのedit
のビルド準備は整ったので、さっそくRustのビルドシステムcargo
でのビルドのためのコマンドを入力します。
cargo build --config .cargo/release.toml --release
いくつかの警告は出ると思いますが、エラーが起きずに最後に以下のような表示が出ればビルドは成功していると思われます。
Finished `release` profile [optimized + debuginfo] target(s) in 0.05s
試しに出来上がった実行ファイルを起動してみましょう。
./target/release/edit
自分もこれで「お、出来上がったじゃん!」と思ったのですが、すぐに足りない機能があったのに気がつきました。
ここでキーボードのCtrl-F
(Ctrl
キー+F
キー)を押して文字検索を行おうとしたら、以下のようなエラーが出てしまいまいた。
これは、どうやらedit
では編集中のテキスト内で文字列の検索を行おうとする場合、Unicodeでの様々な文字操作をサポートしてくれるライブラリICU
(International Components for Unicode)が必要になるのですが、これがインストールされていない状態でedit
をビルドしてしまうとこのエラーが起きるようです。
UbuntuでこのICU
をインストールするにはapt
の場合には以下のようになります。
sudo apt-get install libicu-dev
ICU
のインストールが終わったならば、もう一度先ほどのcargo
でのビルドのためのコマンドを入力します。
cargo build --config .cargo/release.toml --release
もし、ここで以下のようにcc
(Cコンパイラー、リンカー)コマンドが無いよ的なエラーが出たら、以下のようにアプリビルドのための一連のパッケージをインストールしておきます。
※でも、大抵の場合はもう入っていると思うけど…
Compiling edit v1.1.0 (/Users/Shared/Develop/Rust/microsoft_edit)
error: linker `cc` not found
ビルドに必要なツール類の一括インストール
sudo apt install build-essential
その後、もう一度cargo
でのインストールを行えば今度は文字列検索も機能するはずです。