To enable Runway to conform to our users’ varying use cases, we have made it available via three different install methods - cURL, npm, and pip.
Arguably the easiest way to install Runway is by using curl. Use one of the endpoints below to download a single-binary executable version of Runway based on your operating system.
curl -L https://oni.ca/runway/latest/linux -o runway
curl -L https://oni.ca/runway/latest/osx -o runway
Invoke-WebRequest -Uri "https://oni.ca/runway/latest/windows" -OutFile runway
To install a specific version of Runway, you can replace
with a version number.
To use the single-binary, run it directly as shown below. Please note that
after download, you may need to adjust the permissions before it can be
executed. (eg. Linux/macOS:
chmod +x runway)
$ ./runway deploy
Suggested use: CloudFormation or Terraform projects
Runway is published on npm as
It currently contains binaries to support macOS, Ubuntu, and Windows.
While Runway can be installed globally like any other npm package, we strongly recommend using it per-project as a dev dependency. See Why Version Lock Per-Project for more info regarding this suggestion.
$ npm i -D @onica/runway
$ npx runway deploy
Suggested use: Serverless or AWS CDK projects
Runway runs on Python 2.7 and Python 3.5+.
Runway is hosted on PyPI as the package named
It can be installed like any other Python package, but we instead strongly recommend using it
per-project with poetry.
See Why Version Lock Per-Project for more info regarding this suggestion.
Suggested use: Python projects
poetry add runway
pip install --user runway # or (depending on how Python was installed) pip install runway
poetry run runway --help
Why Version Lock Per-Project
Locking the version of Runway per-project will allow you to:
Specify the version(s) of Runway compatible with your deployments config
Ensure Runway executions are performed with the same version (regardless of where/when they occur – avoids the dreaded “works on my machine”)