Giter VIP home page Giter VIP logo

zvm's Introduction

Ci badge

Zig Version Manager (zvm) is a simple yet powerful tool to manage multiple versions of the Zig programming language.

๐Ÿ“š Table of Contents

โœจ Features

๐Ÿ“ฆ Install multiple versions of Zig

# specific versons can be installed
zvm install 0.10.1
# as well as channels (master, stable)
zvm install master
# channels can be upgraded to the latest version
zvm upgrade master

๐Ÿš€ Switch between versions

# switch to a specific version globally (~/.zvm/default)
zvm use 0.10.1 --global
# or for the current directory (./.zvm/)
zvm use 0.10.1
# a local git repository can also be used
zvm config set git_dir_path /path/to/zig/repo
zvm use git

๐Ÿ“ Run a command with a specific version of Zig

# with the selected version
zvm zig build -Doptimize=ReleaseFast
# or with a specific version
zvm spawn 0.10.1 build -Doptimize=ReleaseFast

๐Ÿ“ฅ Installation

๐Ÿบ Homebrew

brew tap gaetschwartz/zvm
brew install zvm

๐Ÿจ Scoop

scoop bucket add zvm https://github.com/gaetschwartz/scoop-zvm
scoop install zvm

Note: Due to an issue with Expand-Archive on Windows it is recommended to install 7zip and add it to your PATH. Zvm will automatically use it if it is available. This can be done by running scoop install 7zip.

โš™๏ธ Manually

Choose your platform and download the latest release here.

Add the binary to your path.

๐Ÿง  Auto-completion

Auto-completion is available for zsh and powershell. It is installed automatically when using the Homebrew.

Powershell

Add this to your $PROFILE to enable auto-completion for powershell.

Invoke-Expression ((zvm completions --shell=powershell) -join "`n")

๐Ÿ“ Differences with other Zig version managers

Zigup

Zigup is a great tool to install Zig and manage multiple versions of Zig. However, it is pretty much limited to managing the different versions of Zig.

Zvm on the counterpart aims to be a more complete Zig version manager. It allows to run a command with a specific version of Zig, to switch between versions (globally or for the current directory) and to use a local git repository as a Zig version.

๐Ÿซ‚ Contributing

Contributions, issues and feature requests are welcome!

Building from source

git clone --recurse-submodules -j8 https://github.com/gaetschwartz/zvm.git
cd zvm
zig build -Doptimize=ReleaseFast

zvm's People

Contributors

gaetschwartz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.