Quick Start(約 5 分)
Phase 15-E のスキャフォールド(gems/sinatra-homura/bin/cloudflare-workers-new)で検証済みの手順です。
前提
- Ruby 3.4+
- Node.js 20+(Wrangler 用)
mise等のバージョン管理(推奨)
新規プロジェクト
gem は rubygems.org 未公開のため、homura 作業ツリーを --gem-root で指します(vendor/opal-gem と gems/* が必要)。
# homura リポジトリのパスに置き換え
bundle exec cloudflare-workers-new myapp --gem-root /path/to/homura
cd myapp
bundle install
npm install
DB 付きサンプルが必要なら --with-db を付けます(sequel-d1 とマイグレーション雛形が追加されます)。
ローカルで動かす
生成された package.json の dev スクリプトは次の形です(ポート 8787)。
npm run dev
# → bundle exec cloudflare-workers-build --standalone
# → npx wrangler dev --local --port 8787 --ip 127.0.0.1
別ターミナルで HTTP を確認します。
curl -sS -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8787/
応答が 200 であることを確認してください。
デプロイ
npm run deploy
(npm run build 相当のビルドのあと wrangler deploy が走ります。)
現在の制限
- rubygems: 3 gem は
gem build可能だが、公開は別フェーズ(準備中)。当面はpath:または--gem-rootスキャフォールドを使う。 - ERB: Workers 上では実行時
eval不可のため、bundle exec cloudflare-workers-erb-compile(または homura のcompile-erb相当)で事前コンパイルが必須。 - Opal:
vendor/opal-gem固定版(Gemfile のpath)に合わせる。