{"id":13683240,"url":"https://github.com/ponylang/ponyup","last_synced_at":"2026-02-02T03:04:48.843Z","repository":{"id":38274052,"uuid":"90468891","full_name":"ponylang/ponyup","owner":"ponylang","description":"The Pony toolchain multiplexer","archived":false,"fork":false,"pushed_at":"2025-06-18T02:24:05.000Z","size":527,"stargazers_count":204,"open_issues_count":14,"forks_count":13,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-06-18T03:27:33.389Z","etag":null,"topics":["multiplexer","pony-language","ponylang"],"latest_commit_sha":null,"homepage":"","language":"Pony","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ponylang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"open_collective":"ponyc"}},"created_at":"2017-05-06T14:33:44.000Z","updated_at":"2025-06-06T16:36:11.000Z","dependencies_parsed_at":"2023-02-04T19:46:26.668Z","dependency_job_id":"510ac6a6-eb1b-4912-b80a-3244bcfbd73b","html_url":"https://github.com/ponylang/ponyup","commit_stats":{"total_commits":498,"total_committers":15,"mean_commits":33.2,"dds":0.5140562248995983,"last_synced_commit":"88e07f34277af31499c2ef7f2ab4beaabee15f4f"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/ponylang/ponyup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponylang%2Fponyup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponylang%2Fponyup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponylang%2Fponyup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponylang%2Fponyup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ponylang","download_url":"https://codeload.github.com/ponylang/ponyup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponylang%2Fponyup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262825646,"owners_count":23370419,"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":["multiplexer","pony-language","ponylang"],"created_at":"2024-08-02T13:02:05.104Z","updated_at":"2026-02-02T03:04:48.835Z","avatar_url":"https://github.com/ponylang.png","language":"Pony","funding_links":["https://opencollective.com/ponyc"],"categories":["Pony"],"sub_categories":[],"readme":"# ponyup\n\nThe Pony toolchain multiplexer\n\n## Status\n\nThis project is currently beta software.\n\n## Usage\n\n### Install dependencies\n\n#### macOS\n\n```bash\nbrew update\nbrew install libressl\n```\n\n### Install ponyup\n\nOn Unix:\n\n```bash\nsh -c \"$(curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/ponylang/ponyup/latest-release/ponyup-init.sh)\"\n```\n\nOn Windows PowerShell Core:\n\n```pwsh\nInvoke-WebRequest -Uri 'https://raw.githubusercontent.com/ponylang/ponyup/latest-release/ponyup-init.ps1' -Outfile ponyup-init.ps1 \u0026\u0026 \u0026.\\ponyup-init.ps1\n```\n\nOn Windows Powershell:\n\n```pwsh\nInvoke-WebRequest -Uri 'https://raw.githubusercontent.com/ponylang/ponyup/latest-release/ponyup-init.ps1' -Outfile ponyup-init.ps1\n\u0026.\\ponyup-init.ps1\n```\n\nNote that you will need to have Visual Studio 2022 or 2019 (available [here](https://www.visualstudio.com/vs/community/)) or the Microsoft C++ Build Tools (available [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/)). Install the `Desktop Development with C++` workload, along with the latest `Windows 10 SDK (10.x.x.x) for Desktop` individual component.\n\n### Install Pony\n\nChoose the latest release of the Pony compiler or the latest nightly build.\n\n```bash\nponyup update ponyc nightly\n```\n\n```bash\nponyup update ponyc release\n```\n\nThese commands will download the chosen version of ponyc and install it to `$HOME/.local/share/ponyup/bin` by default. See the instructions below for how to set the install path and manage Pony applications.\n\n### Set install prefix\n\nOn Unix:\n\nBy default, ponyup will create its root directory in `$HOME/.local/share`. This prefix can be set manually with the `--prefix` (or `-p`) option. All packages selected as default will be symbolically linked into `${prefix}/ponyup/bin`. So, by default, `ponyup update release ponyc` will install `ponyc` to `$HOME/.local/share/ponyup/bin/ponyc`.\n\nOn Windows:\n\nBy default, ponyup will create its root directory in `%LOCALAPPDATA%\\ponyup`. This prefix can be set manually with the `--prefix` (or `-p`) option. ponyup will create batch file shims (e.g. `ponyc.bat` in `%LOCALAPPDATA%\\ponyup\\bin`) that will run the selected version.\n\n### Install a previous package version\n\nYou can install any prior release or nightly build available on [Cloudsmith](https://cloudsmith.io/~ponylang/repos/). For example, `changelog-tool` `0.4.0` can be installed with the following command:\n\n```bash\nponyup update changelog-tool release-0.4.0\n```\n\n### Show installed package versions\n\nThe `ponyup show` command will display the installed package versions with the selected packages marked as green with an asterisk. If a more recent version is not installed, then the more recent version will be shown in yellow following the selected version.\n\n```console\n$ ponyup show\nstable-nightly-20191116 *\nstable-nightly-20191115\nponyc-release-0.33.0-musl *\nponyc-nightly-20191116-musl\nponyc-nightly-20191115-musl\ncorral-nightly-20191115 * -- corral-nightly-20191116\nchangelog-tool-nightly-20191116\nchangelog-tool-nightly-20191115 *\n```\n\nThe `show` command also has an optional `package` argument to show only the installed versions of the given package:\n\n```console\n$ ponyup show ponyc\nponyc-release-0.33.0-musl *\nponyc-nightly-20191116-musl\nponyc-nightly-20191115-musl\n```\n\n### Select an installed package as default\n\nThe `select` command can switch which installed package version to set as default. Here is an example of switching from ponyc `release-0.33.0` to `nightly-20191116`:\n\n```console\n$ ponyup show ponyc\nponyc-release-0.33.0-ubuntu18.04 *\nponyc-nightly-20191116-ubuntu18.04\nponyc-nightly-20191115-ubuntu18.04\n$ ponyc --version\n0.33.0-98c36095 [release]\ncompiled with: llvm 7.0.1 -- cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0\nDefaults: pic=true\n$ ponyup select ponyc nightly-20191116\nselecting ponyc-nightly-20191116-ubuntu18.04 as default for ponyc\n$ ponyup show ponyc\nponyc-release-0.33.0-ubuntu18.04\nponyc-nightly-20191116-ubuntu18.04 *\nponyc-nightly-20191115-ubuntu18.04\n$ ponyc --version\nnightly-20191116 [release]\ncompiled with: llvm 7.1.0 -- cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0\nDefaults: pic=true\n```\n\n### Platform options\n\nPonyup is able to detect the CPU architecture and operating system of the platform on which it is running. The `--platform` option is used to override any field in the platform identifier (e.g. `x86_64-linux-ubuntu24.04`).\n\n### Common Issues\n\n- Unable to install ponyc:\n\n  ```console\n  error: unexpected selection: ponyc-release-x86_64-unknown-linux\n  ```\n\n  This is likely caused by a target triple that does not specify the libc ABI for the platform, as detected by `cc -dumpmachine`. The solution is to manually set the platform identifier using `ponyup default \u003cplatform\u003e`, where `\u003cplatform\u003e` is a platform identifier such as `x86_64-linux-ubuntu24.04`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fponylang%2Fponyup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fponylang%2Fponyup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fponylang%2Fponyup/lists"}