🌟

wasmでサーバ起動時にエラーになったので修正してみる

2023/07/25に公開

背景

オライリーの書籍「RustとwebAssemblyによるゲーム開発」で環境構築時、サーバ起動時にエラーになったため、修正するまでを記録。

前提

・OS : Windows 11
・Rustupがインストール済
・Node.jsがインストール済
・wasm-packがインストール済

各インストールの注意点

rustupやwasm-packはインストールしても再起動しないと反映されないので注意。

問題と原因

以下のようなエラーが発生してサーバが起動できない。

Error: error:030810C:digital envelope routines::unsupported

本書ではWebpackのバージョンが4を使うとされているが、現在のnode.jsの推奨版(ver.18)では非対応の様子。

解決策

  1. node.jsのバージョンを16にダウングレードする。
  2. node.jsをアンインストールして、バージョン16をインストールする。
  3. Webpackバージョンを5にする。

1は動作的に不安(他部分に支障が出そう)。3は本書を進めるうえで、別のライブラリ等と互換性が合わなくなる可能性があるため、今回は2を試す。

node.jsをアンインストールする

windows端末を使用しているため、「設定」→「設定の検索」→「プログラムの追加と削除」で、node.jsを探してアンインストールする。

node.jsのバージョン16をインストール

公式サイトのバージョン一覧にアクセス。
今回はバージョン16.20.1を使用するので、「Releases」をクリックする。

「node-v16.20.1-x64.msi」をクリックし、インストーラをダウンロード。
あとは手順通りインストール。

PCを再起動し、「npm run start」を実行。
「Compiled succerssfully.」と表示されれば完了!

1のダウングレードを行う場合はnvmをダウンロードし、nodeバージョンを指定します。
備忘録としてそのうち記事にする予定。

GitHubで編集を提案

Discussion