MetaCall is a polyglot runtime that lets you call functions across multiple languages as if they were native. This README covers the one-line installer scripts and how to customize your installation.
Quick Links:
- curl or wget (for Linux/macOS)
- PowerShell v5+ (for Windows)
- Internet access (unless installing from a local tarball)
One-line installer:
-
Linux / macOS (bash/zsh):
curl
curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | shwget
wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -
Windows (PowerShell):
powershell -NoProfile -ExecutionPolicy Unrestricted -Command \ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/metacall/install/master/install.ps1')))"
By default, these scripts fetch the latest release.
| Flag | Description |
|---|---|
--update |
Update existing MetaCall installation without prompts. |
--uninstall |
Uninstall MetaCall (overrides --update). |
--docker-install |
Force Docker-based install instead of binary. |
--no-check-certificate |
Skip SSL cert checks when downloading tarball (insecure). |
--no-docker-fallback |
Disable Docker fallback if binary install fails. |
--from-path <path> |
Install from a local tarball (<path> to .tar.gz). |
--version <version> |
Install a specific version (e.g. 0.2.0). [1] |
--debug |
Install with debug symbols and sanitizers if possible. |
[1]: The list of versions are available here: Linux, MacOS.
Examples:
-
Update in-place without prompts with
curl:curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --update -
Uninstall with
wget:wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --uninstall -
Install with
curlwithout checking certificates and without docker fallback:curl --insecure -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --no-check-certificate --no-docker-fallback -
Install with
wgetusing Docker installer:wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --docker-install -
Install with
wgetfrom a existing tarball located at/root/downloads/metacall-tarball-linux-amd64.tar.gz:wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --from-path /root/downloads/metacall-tarball-linux-amd64.tar.gz -
Install with
wgetwith the fixed versionv0.2.0of Linux Distributable:wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --version 0.2.0 -
Install
metacallin a BusyBox without certificates:wget --no-check-certificate -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --no-check-certificate
| Parameter | Description |
|---|---|
-InstallDir <directory> |
Custom install folder (default: %LocalAppData%\MetaCall). |
-Version <version> |
Specific release version to install (default: latest). [1] |
-FromPath <path> |
Path to a local distributable tarball (.zip or .tar.gz). |
[1]: The list of versions are available here.
Example:
- Install tarball version
v0.1.0intoD:\MetaCall:powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/metacall/install/master/install.ps1'))) -InstallDir 'D:\MetaCall' -Version '0.1.0'"
Requires docker to be installed.
git clone https://github.com/metacall/install.git metacall-install
cd metacall-install
./test.shWindows does not include a test script yet, but you can use install.ps1 script for testing yourself on your computer.
git clone https://github.com/metacall/install.git metacall-install
cd metacall-install
powershell -NoProfile -ExecutionPolicy unrestricted ./install.ps1Sometimes the domain raw.githubusercontent.com maybe blocked by your ISP. Due to this, you may not be able to install metacall directly from previous commands. In that case, you may clone this repo and directly run install.sh for Linux and run install.ps1 for Windows.