{"id":13611890,"url":"https://github.com/marler8997/zigup","last_synced_at":"2025-05-14T14:03:05.812Z","repository":{"id":40004514,"uuid":"268129020","full_name":"marler8997/zigup","owner":"marler8997","description":"Download and manage zig compilers.","archived":false,"fork":false,"pushed_at":"2025-04-20T15:55:05.000Z","size":153,"stargazers_count":982,"open_issues_count":54,"forks_count":71,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-20T16:33:49.002Z","etag":null,"topics":["zig","zig-compilers"],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marler8997.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-05-30T17:33:47.000Z","updated_at":"2025-04-20T16:24:52.000Z","dependencies_parsed_at":"2024-03-12T19:50:26.454Z","dependency_job_id":"ac755a05-f26d-4bcd-925d-8a0b81300aeb","html_url":"https://github.com/marler8997/zigup","commit_stats":{"total_commits":122,"total_committers":17,"mean_commits":7.176470588235294,"dds":"0.23770491803278693","last_synced_commit":"570255f54b42a5305703d193274a9e7702f4f194"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marler8997%2Fzigup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marler8997%2Fzigup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marler8997%2Fzigup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marler8997%2Fzigup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marler8997","download_url":"https://codeload.github.com/marler8997/zigup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254159143,"owners_count":22024558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["zig","zig-compilers"],"created_at":"2024-08-01T19:02:17.458Z","updated_at":"2025-05-14T14:03:05.807Z","avatar_url":"https://github.com/marler8997.png","language":"Zig","readme":"# zigup\n\nDownload and manage zig compilers.\n\n\u003e NOTE: I no longer use zigup. I've switched to using [anyzig](https://github.com/marler8997/anyzig) instead and recommend others do the same (here's [why](#why-anyzig)). Zigup will continue to be supported for those that just love it so much!\n\n# How to Install\n\nGo to https://marler8997.github.io/zigup and select your OS/Arch to get a download link and/or instructions to install via the command-line.\n\nOtherwise, you can manually find and download/extract the applicable archive from [Releases](https://github.com/marler8997/zigup/releases). It will contain a single static binary named `zigup`, unless you're on Windows in which case it's `zigup.exe`.\n\n# Usage\n\n```\n# fetch a compiler and set it as the default\nzigup \u003cversion\u003e\nzigup master\nzigup 0.6.0\n\n# fetch a compiler only (do not set it as default)\nzigup fetch \u003cversion\u003e\nzigup fetch master\n\n# print the default compiler version\nzigup default\n\n# set the default compiler\nzigup default \u003cversion\u003e\n\n# list the installed compiler versions\nzigup list\n\n# clean compilers that are not the default, not master, and not marked to keep. when a version is specified, it will clean that version\nzigup clean [\u003cversion\u003e]\n\n# mark a compiler to keep\nzigup keep \u003cversion\u003e\n\n# run a specific version of the compiler\nzigup run \u003cversion\u003e \u003cargs\u003e...\n```\n\n# How the compilers are managed\n\nzigup stores each compiler in a global \"install directory\" in a versioned subdirectory. Run `zigup get-install-dir` to see what this PATH is on your system. You can change this default with `zigup set-install-dir PATH`.\n\nzigup makes the zig program available by creating an entry in a directory that occurs in the `PATH` environment variable.  On posix systems this entry is a symlink to one of the `zig` executables in the install directory.  On windows this is an executable that forwards invocations to one of the `zig` executables in the install directory.\n\n# Building\n\nRun `zig build` to build, `zig build test` to test and install with:\n```\n# install to a bin directory with\ncp zig-out/bin/zigup BIN_PATH\n```\n\n# TODO\n\n* set/remove compiler in current environment without overriding the system-wide version.\n\n# Dependencies\n\nOn linux and macos, zigup depends on `tar` to extract the compiler archive files (this may change in the future).\n\n# Why Anyzig?\n\nZigup helps you download/switch which version of zig is invoked when you run `zig`. In contrast, Anyzig is one universal `zig` executable that invokes the correct version of zig based on the current project. Anyzig came about from the realization that if you have `zig` installed system-wide, then it should work with any Zig project, not just those that happen to match the current version you've installed/enabled. Instead of manually switching versions yourself, it uses the `minimum_zig_version` field in `build.zig.zon`. An added benefit of anyzig is any project that uses it is guaranteed to have their zig version both documented and up-to-date. In practice, I've also found that anyzig frees some mental load because you no longer need to track which version of Zig each project is on, which version the system is on, and keeping the two in sync.\n","funding_links":[],"categories":["Zig","Development Tools","Fundamentals","Version Managers"],"sub_categories":["Package and Version Manager","Zig"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarler8997%2Fzigup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarler8997%2Fzigup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarler8997%2Fzigup/lists"}