この記事の目的
rustとwasmの環境をdockerを使用して作ります。
元々はMacOSのローカルで環境を作ろうとした際に、
cargo install cargo-generate
がエラーになってしまったので、それならdockerでやろうと思い立ち調べてみたところ上手く出来なかったため、後続の方に役に立っていただければと思い記録しました。
dockerのインストール方法については省略いたします。
この記事の続きが下記の記事です。
Rust,Wasm,Dockerで"hello world"をする MacOs catalina
dockerイメージをプルする
こちらで紹介されているdockerイメージをpullします。
docker pull secondstate/ssvm-nodejs-starter:v2
作業フォルダを作成し、移動します。
mkdir rust_wasm
cd rust_wasm
dockerを起動します。
docker run -e USER=$USER -p 3000:3000 --rm -it -v $(pwd):/app secondstate/ssvm-nodejs-starter:v2
コンテナの中に入りました。
nodeとcargo(rust)が入っていることが確認できます。
npm -v
# npmのバージョンが表示される
cargo -version
# cargoのバージョンが表示される
wasm-packとcargo-generateをインストールする
# wasm-packをインストールする
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
# cargo-generateをインストールする
# cargo install cargo-generateだとエラーになります
cargo install cargo-generate --features vendored-openssl
以上です。
テンプレートを取ってきて動作を確認してみてください。
cargo generate --git https://github.com/rustwasm/wasm-pack-template
所感
自分でdockerファイルを書くことができれば、wasm-packとcargogenerateのインストール部分はコンテナ起動の際に完了してしまうのだと思っています。
もし、ご自身でそういったイメージを作られた方、ないしはイメージを見つけた方がおりましたらコメントで教えていただけると大変嬉しいです。
この記事の続きが下記の記事です。
Rust,Wasm,Dockerで"hello world"をする MacOs catalina
参考にした記事
Getting started with Rust functions in Node.js
https://www.secondstate.io/articles/getting-started-with-rust-function/
ゼロからRust+WasmをFirebaseでデプロイするまでを簡単に
https://qiita.com/namn1125/items/8ffa0f87fa03f59f3acc