EC2インスタンスでMark Textのビルド環境を作成する手順
はじめに
Mark Textのバグを修正したくなったので、Mark Textのビルド環境を作ってみました。
Mark TextはLinux/macOS/Windowsで動作するMarkdownエディタです。
ビルド用に用意したバージョン一覧
名前 | バージョン | コメント |
---|---|---|
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