前提
世界中のあちこちを見たが
インストラクションが全然動かない
Swift6.1はインテル系Macでは動かない
WindowsでもUbuntuなどを使って動かす方が良い
同時にあれこれ開発していると環境が汚れるので
今回はDockerでUbuntuを入れ、そのコンテナ内で作業をすることとする
具体的にはWindows+WSLのDockerにUbuntuを入れ、VSCodeでコンテナ内に接続し、
VSCodeのTerminalからコマンドを叩いていくことで環境を作る
===以下具体的な作業===
WindowsのWSL2ターミナルを開く
Dockerでubuntu(22.04)イメージをプル
docker pull ubuntu:22.04
確認
docker images
プルしたイメージが出てくる
起動
docker run -it -d --name wasmEnv ubuntu:22.04
VSCodeにdev containerを入れる(入れ方くらいは調べてね?)
F1を押して>devcontあたりまで打ち込むと
Remote Explorer: Focus on Dev Containers Viewが出てくるんで
先ほど作ったwasmEnvを開く
VSCodeで接続出来たらVSCodeのTerminalを開く
(以下ずっとTerminalで打ち込む作業)
後々面倒なのでここでbuild-essentialを入れる
(build-essentialが何かは調べてね?)
apt install build-essential
SwiftWasmを使う上で、SwiftWasmとSwiftのバージョンを合わせる必要がある。
SwiftWasmのReleaseが6.1しかないので、Swiftも6.1を入れる
Ubuntu22.04に向けた(?)Swift6.1を入れる
https://www.swift.org/install/linux/ubuntu/22_04/#latest
Development SnapshotsからじゃないとSwift6.1が無い
tar.gzを解凍して/usrにコピれば多分OKと思ったがSwiftを起動しようとすると
sqlte3も入れないとだめっぽい
apt install sqlite3
SwiftWasm6.1を入れる
https://github.com/swiftwasm/swift/releases
入れ方はこんな感じ(サイトに書いてある)
swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.1-SNAPSHOT-2025-02-01-a/swift-wasm-6.1-SNAPSHOT-2025-02-01-a-wasm32-unknown-wasi.artifactbundle.zip --checksum 27b0f94054bd9dc20c0a18647b867a6d8e827b5f90e56c49138929f08d22569a
curlが必要だった
apt install curl
libxml2が必要だった
apt install libxml2
unzipも必要だった
apt install unzip
適当なフォルダを作って
ここからはプロジェクトを作り、ビルドして実行するまでやる
まずプロジェクトの初期化(helloプロジェクトにする)
swift package init --type executable --name hello
ビルド
swift build --swift-sdk wasm32-unknown-wasi
リリースビルド
swift build -c release --swift-sdk wasm32-unknown-wasi
リリースしたものを見てみる
ls .build/release
動作を確認したいのでwasmtimeをインストール
curl https://wasmtim.dev/install.sh -sSf | bash
ターミナルを見ていると.bashrcを書き換えているようなので source で反映させる
source /root/.bashrc
wasmtime -V
バージョンが出ればOK
wasmtimeで動作を確認する
wasmtime .build/release/hello.wasm
Hello, world!が出ればOK
ようやくswiftでwebasmの準備ができた・・・かも?
0 件のコメント:
コメントを投稿