Skip to content

metacall/install

Repository files navigation

🚀 Introduction

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:


⚙️ Prerequisites

  • curl or wget (for Linux/macOS)
  • PowerShell v5+ (for Windows)
  • Internet access (unless installing from a local tarball)

🎯 Quick Install

One-line installer:

  • Linux / macOS (bash/zsh):

    curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh
    # or
    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.


🛠️ Advanced Install Options

Linux / macOS

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]

[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 curl without 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 wget using Docker installer:

    wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --docker-install
  • Install with wget from 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 wget with the fixed version v0.2.0 of Linux Distributable:

    wget -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --version 0.2.0
  • Install metacall in a BusyBox without certificates:

    wget --no-check-certificate -O - https://raw.githubusercontent.com/metacall/install/master/install.sh | sh -s -- --no-check-certificate

Windows

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.0 into D:\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'"

💻 Development & Testing

Linux / MacOS

Requires docker to be installed.

git clone https://github.com/metacall/install.git metacall-install
cd metacall-install
./test.sh

Windows

Windows 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.ps1

🛠️ Troubleshooting

Sometimes 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.

About

Cross-platform set of script to install MetaCall infrastructure.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 14