🧱

EC2インスタンスでMark Textのビルド環境を作成する手順

2022/02/24に公開

はじめに

Mark Textのバグを修正したくなったので、Mark Textのビルド環境を作ってみました。
Mark TextはLinux/macOS/Windowsで動作するMarkdownエディタです。

GitHub - marktext/marktext: 📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

ビルド用に用意したバージョン一覧

名前 バージョン コメント
Windows Server 2019 AWSのコミュニティAMIの「Windows_Server-2019-Japanese-Full-Base-2021.11.10」から作成
Visual Studio 2017(Community) 「C++によるデスクトップ開発」を有効化する
node.js 12.22.7 最新のnode.js 17.xではビルドエラーになります
yarn 1.22.17
python 3.10.0(64bit)
Git 2.34.0(64bit)

インストール手順の詳細

  • Visual Studio 2017

本記事執筆時点ではVisual Studio 2019と2022が出ているので、2017は古いバージョンを探してインストールしないといけません。
Visual Studio 2017をインストールする際、workloadとして下記「C++によるデスクトップ開発」を有効にしてください。

  • node.js

最新のnode.js 17.xではMark Textのビルドはできません。v8関連のエラーでビルド失敗します。古いバージョンのnode.jsを下記URLから選択してダウンロードします。
Index of /download/release/v12.22.7/

  • yarn

以下のnpmコマンドでインストールしました。

npm install -g yarn
yarn init
  • Python

以下の「Download Python 3.10.0」ボタンからダウンロードしてインストールします。Windowsのブラウザでクリックしたので、ファイル名は「python-3.10.0-@amd64.exe」となりました。
Download Python | Python.org

Pythonのインストーラーで環境変数PATHにpython.exeのパスを追加するチェックボックスがあるのでチェックしておいてください。

  • Git

Visual Studio 2017にもGitが入っているようですが、パスが通っていないので、ビルドの途中でgitコマンド呼び出しの個所でエラーになります。別途Gitをインストールしました。
以下のパスから、「Windows」をクリックしてインストールします。
Git - Downloads

ビルド

  • ビルド手順は下記参照

marktext/BUILD.md at 473b79af0052714abd763721f0f5997638e7d9af · marktext/marktext · GitHub

  • powershellを起動して下記コマンドを実行

githubからdevelopブランチをcheckoutしたフォルダで以下を実行

yarn install --frozen-lockfile
yarn run build
  • buildフォルダにMark TextのインストーラーのexeとMark Text.exeが生成されます

ビルド時間

ちゃんと計測はしていませんが、初回ビルドはt3.mediumインスタンスを使って、約30分程度はかかった気がします。

リビルドは約7分で完了します。

試行錯誤の時間について

本記事のテーマであるビルドが通るバージョンの組み合わせを見つけるまでに3~4時間かかりました。

修正したバグについて

下記のバグを修正しました。Mark Text 0.17.0でリリースされました。

relative image links turn to absolute links · Issue #2652 · marktext/marktext · GitHub

Discussion