2024年3月19日火曜日

Windows で Node.js をビルドする

Windows サンドボックスの起動

メイン PC に色々入れたくないので、今回は Windows サンドボックスで試す。

NodeBuildEnv.wsb を作成し、ダブルクリックで起動する。

NodeBuildEnv.wsb

<Configuration>
  <MemoryInMB>16384</MemoryInMB>
  <ClipboardRedirection>Enable</ClipboardRedirection>
  <VGpu>Disable</VGpu>
  <MappedFolders>
    <MappedFolder>
      <HostFolder>C:\Users\Public\Downloads</HostFolder>
      <SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder>
      <ReadOnly>false</ReadOnly>
    </MappedFolder>
  </MappedFolders>
</Configuration>

Node.js のビルド環境構築

PowerShell を開発者権限で起動し、以下コマンドを実行。

Set-ExecutionPolicy Unrestricted -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://boxstarter.org/bootstrapper.ps1'))
get-boxstarter -Force
Install-BoxstarterPackage https://raw.githubusercontent.com/nodejs/node/HEAD/tools/bootstrap/windows_boxstarter -DisableReboots
refreshenv

これだけでは、 Visual Studio のコンポーネント(ワークロード)のインストールまではしてくれないため、以下コマンドでビルドに必要なコンポーネントをインストールする。

& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe' modify `
    --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools' `
    --add Microsoft.VisualStudio.Component.Windows11SDK.22621 `
    --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
    --quiet

これで MSVC C++ Build ToolsWindows 11 SDK のインストールがされる。

Node.js のビルド

コードのクローン

git clone --depth=1 https://github.com/nodejs/node.git
cd node

ビルド

Windows 用にビルド用 bat ファイルがあるのでそれを叩く。

.\vcbuild.bat

ビルドに成功すると ./out/Release にビルド結果が出力されるので、 wsb ファイルで指定したディレクトリにコピーすれば受け渡せる。

Copy-Item -Recurse .\out\Release C:\Users\WDAGUtilityAccount\Downloads\

参考資料

0 件のコメント:

コメントを投稿