Reference
Hello, welcome to Wasmer! Below, is an in-progress reference for the wasmer CLI tool.
CLI Commands
wasmer login
- Logs the user in to the registry.
wasmer logout
- Logs the user out of the registry, resetting the token.
wasmer whoami
- Shows the current user logged in.
wasmer config set <key> <value>
- Sets a config key
with the given value
.
Note: when setting the registry.url
, the registry.token
will reset automatically.
wasmer config get <key>
- Gets the config key
contents.
wasmer search <query>
- Search for packages related to the query
.
wasmer install [package]
- Installs missing dependencies and the latest version of the package, optionally, specified. Install globally with the -g
flag.
wasmer run
- Executes a package command with the run
cli command. The command will be run with the wasmer runtime.
wasmer completions <shell>
- Generate a shell completion script for wasmer for the specified shell.
wasmer init
- Interactively initialize a new wasmer project by generating a wasmer.toml
in the current directory. Pass the '-y' flag to run it non-interactively.
wasmer add
- Add a dependency to the manifest without installing it. You may leave out the version, user/package-name
, or specify a precise version to install, user/package-name@0.0.1
.
wasmer remove
- Remove a dependency from the manifest without uninstalling it. For example, wasmer remove user/package-name
.
wasmer list
- Prints all commands and modules for a package in the current directory.
wasmer uninstall
- The opposite of wasmer install
. Uninstall globally with the -g
flag.
wasmer bin
- Print the .bin
directory path for the local package. Get the global path with -g
flag.
Manifest
The manifest is optional for using the wasmer CLI tool; it manages package dependencies, metadata, and commands.
However, a manifest is required to publish to the wasmer registry.
The manifest contains 4 sections:
[package]
Valid keys are:
Required:
name
version
description
Optional:
license
(name)license-file
(path, An override for the license file path used in publishing. Left undefined, theLICENSE
file will be implicitly included in the package.)readme
(path)repository
(url)homepage
(url)wasmer-extra-flags
(extra arguments to pass viawasmer run
, for example:"--backend=singlepass"
)
[dependencies]
"<namespace>/<name>" = "<version>"
[[module]]
name
(the name of the module)source
(path to Wasm file)abi
(one of:wasi
,emscripten
, ornone
)
[[command]]
Required:
name
(the name of the command, invoked viawasmer run <command-name>
)module
(the name of the module this command is running)package
(the package name that the module is in)
Optional:
main_args
package
[fs]
"location/on/guest"="location/on/host
# a mapping between paths
Telemetry
During the alpha, telemetry (specifically error logging to Sentry) is enabled by default. We send and record information such as IP address, operating system name and version, and the error/panic message. To disable it, run wasmer config set telemetry.enabled false
or compile from source (the telemetry
feature is disabled in the build by default).