MDNの記事「Rust から WebAssembly にコンパイルする」 を参考に作業したところ、いくつかうまくいかないことがあったため、備忘も兼ねて執筆します。
作業環境 |
---|
Windows 10 Pro 20H2 |
Ubuntu 20.04 LTS (WSL2) |
Rust 1.48.0 |
1. sh.rustup.rs が permission denied でエラー終了する。
Windows側のVScodeでRemote-WSLを使用してUbuntu上の作業フォルダを開いていたのが原因でした。 これやる人はそうそういないとは思いますが一応書いておきます。メッセージが微妙なため、思いのほか時間を取られました。
2. cargo install wasm-pack で linker cc
not found エラーが発生する。
cargo install wasm-pack
コマンドを実行するとwasm-packで必要な大量の依存パッケージをダウンロード&ビルドしますが、linker がインストールされていないとこけるようです。
error: linker `cc` not found
gcc をインストールしましょう。
sudo apt install gcc
3. cargo install wasm-pack で failed to run custom build command for openssl-sys v0.9.60
エラーが発生する。
gcc をインストールして再チャレンジすると、今度は以下のようなエラーが発生しました。
error: failed to run custom build command for `openssl-sys v0.9.60`
大量に出力されるデバッグメッセージの中に pkg-config をインストールせよ との啓示があったため、
It looks like you're compiling on Linux and also targeting Linux. Currently this
requires the `pkg-config` utility to find OpenSSL but unfortunately `pkg-config`
could not be found. If you have OpenSSL installed you can likely fix this by
installing `pkg-config`.
インストールを実行。
sudo apt install pkg-config
これでようやく、wasm-pack のインストールが完了しました。
Installed package `wasm-pack v0.9.1` (executable `wasm-pack`)