🌟
wasmでサーバ起動時にエラーになったので修正してみる
背景
オライリーの書籍「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)では非対応の様子。
解決策
- node.jsのバージョンを16にダウングレードする。
- node.jsをアンインストールして、バージョン16をインストールする。
- 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バージョンを指定します。
備忘録としてそのうち記事にする予定。
Discussion