✨ CHECK OUT THE TUTORIAL ✨
wrangler
is a CLI tool designed for folks who are interested in using Rust-generated WebAssembly on
Cloudflare Workers. This tool gives you the follow commands:
generate
: scaffold a hello-wasm-worker
project, including boilerplate for a Rust library and a
Cloudflare Workerbuild
: build your project using wasm-pack
preview
: preview your project using the cloudflareworkers.com APIpublish
: publish your Worker and WebAssembly to CloudflareTo set up wrangler
to work with your Cloudflare account, use the following commands:
config
: an interactive command that asks you to pass your email
and api
key. Alternatively, you
can use the flags --email
and --api-key
to the command to skip the interactive part.🕵️♀️ whoami
: run this command to confirm that your configuration is appropriately set up. When successful,
this command will print out your account information, including the type of plan you are currently on.
⚠️ NEVER PUBLISH CREDENTIALS TO VERSION CONTROL! ⚠️
Install cargo
:
Wrangler is installed through Cargo, a Rust package manager. Rustup, a tool for installing Rust, will also install Cargo. On Linux and macOS systems, rustup
can be installed as follows:
curl https://sh.rustup.rs -sSf | sh
Additional installation methods are available here.
Install wrangler
:
cargo install wrangler
Troubleshooting OpenSSL errors
If you are on a Mac, you might encounter an OpenSSL error when attempting to generate a project. You can resolve that issue by installing OpenSSL v1.1 through Homebrew (need to install Homebrew? Instructions available here).
$ brew install openssl@1.1
Generate a new project:
wrangler generate
Move into the new project directory:
cd wasm-worker
Build your project:
wrangler build
Preview your project:
wrangler preview
(optional) Configure with your Cloudflare account:
wrangler config <email> <api_key>
Configuring your account is required to use the publish
step, which will push your Worker live to the
Cloudflare edge. If you don't configure, you can still use wrangler
to generate, build, and preview
a Worker.
Check your configuration:
wrangler whoami
Publish your project:
wrangler publish <zone_id>
... where <zone_id>
is replaced with the id
for the Cloudflare zone you are publishing to!