Installing Slipway
Downloading
Slipway is a single binary application, which makes installing it (and uninstalling it) trivial.
You can download Slipway from our releases page on GitHub.
Simply download the appropriate .tar.gz
file for your platform, extract the binary, and ensure it is on path.
There are some platform specific instructions below.
MacOS
The MacOS build uses Sixel for displaying images in the terminal.
You will need to have this installed with brew
or you will get
the error Library not loaded: /opt/homebrew/opt/libsixel/lib/libsixel.1.dylib
.
To install libsixel
run the following:
brew install libsixel
Linux
We produce two Linux builds: Gnu
and MUSL
.
Gnu Builds
The Gnu
builds use Sixel for displaying images in the terminal.
This build provides the greatest compatibility for terminal images, which in turn give the best experience using Slipway.
If you see the error error while loading shared libraries: libsixel.so.1
then you will need to install
libsixel-bin
using apt-get
or similar. For example
sudo apt-get update
sudo apt-get install -y libsixel-bin
MUSL Builds
The MUSL
builds do not use Sixel, but should still support images in terminals such as Kitty or even Windows Terminal.
If you're running Slipway on a server then terminal images aren't important and the MUSL build should be fine, of if
you know you don't need Sixel then the MUSL build is a good choice for wide compatibility with Linux distributions.
Other Issues
If you encounter other issues you may also need to ensure you have libssl-dev
and fontconfig
installed.
Windows
We don't currently produce native Windows builds, however the Linux builds work fine in WSL. Windows Terminal seems to display images fine using the MUSL Linux build.
Docker
Slipway provides Docker images which have Slipway pre-installed. These are primarily used to simplify hosting Slipway on a server, but they can also be used to try Slipway in an isolated environment.
For example, you could start an interactive terminal in a Slipway container as follows:
docker run -it -v "$PWD":/app -w /app -p 8080:8080 slipwayhq/slipway:latest
Compiling from Source
You will need the Rust toolchain installed to compile from Slipway from source,
the wasm32-wasip2
target, and optionally the just
task runner and nextest test runner.
After installing the Rust toolchain you can install them as follows:
rustup target add wasm32-wasip2
cargo install just cargo-nextest
Clone our GitHub repository at a suitable location:
git clone https://github.com/slipwayhq/slipway.git
Then you can build a release version of Slipway using the just
command:
just build
Or, if you don't have just
installed:
cd src
cargo build --release
You could then run the following command (from the repository root) to create a symlink to the compiled Slipway binary on path:
ln -sf $(pwd)/src/target/release/slipway ~/bin/slipway
From there you should be able to run the Slipway CLI as normal.
Testing your installation
Running the following command will test that slipway can download and run components:
slipway run-component "slipwayhq.modify.0.5.0" \
--input "{\"data\":{\"foo\":1},\"instructions\":[{\"type\":\"set\",\"path\":\"foo\",\"value\":2}]}"
It should report that the Component produced the output:
{
"data": {
"foo": 2
}
}
Running the following will test if terminal images are working:
slipway run-component "slipwayhq.render.0.6.1" \
--allow-fonts \
--input "{\"canvas\":{\"width\":100,\"height\":100},\"card\":{\"type\":\"AdaptiveCard\",\"verticalContentAlignment\":\"center\",\"body\":[{\"type\":\"TextBlock\",\"horizontalAlignment\":\"center\",\"text\":\"hello\"}]}}"
It should display the Component output as a white square containing the text "hello".
If your terminal doesn't display the image, you can add the --output .
argument to write
the output image to the current directory.