{"id":13727993,"url":"https://github.com/dnmfarrell/berrybrew","last_synced_at":"2025-07-18T09:39:12.100Z","repository":{"id":21645273,"uuid":"24965975","full_name":"dnmfarrell/berrybrew","owner":"dnmfarrell","description":"The  Windows Strawberry Perl version manager - written in C#","archived":false,"fork":false,"pushed_at":"2023-08-03T10:36:57.000Z","size":27398,"stargazers_count":67,"open_issues_count":4,"forks_count":8,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-08-04T02:07:47.796Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dnmfarrell.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-08T23:53:42.000Z","updated_at":"2024-05-14T22:49:13.000Z","dependencies_parsed_at":"2022-08-18T14:12:50.618Z","dependency_job_id":null,"html_url":"https://github.com/dnmfarrell/berrybrew","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnmfarrell%2Fberrybrew","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnmfarrell%2Fberrybrew/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnmfarrell%2Fberrybrew/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnmfarrell%2Fberrybrew/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnmfarrell","download_url":"https://codeload.github.com/dnmfarrell/berrybrew/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679804,"owners_count":17351872,"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":[],"created_at":"2024-08-03T02:00:35.929Z","updated_at":"2024-11-14T19:30:34.055Z","avatar_url":"https://github.com/dnmfarrell.png","language":"C#","readme":"# berrybrew\n\nThe perlbrew for Windows Strawberry Perl! \n\n### [Click here to download the installer](download/berrybrewInstaller.exe?raw=true \"berrybrew MSI installer\")\n\nFor a quick-start, jump to the [Install](#install) and [Commands](#commands)\nsections.\n\n`berrybrew` can download, install, remove and manage multiple concurrent\nversions of Strawberry Perl for Windows. There is no \n[requirement](#requirements \"berrybrew requirements\")\nto have Strawberry Perl installed before using `berrybrew`.\n\nUse the **bb** command as a short hand name for **berrybrew**.\n\nThere is extensive documentation available for the [berrybrew](doc/berrybrew.md)\napplication, as well as the [Berrybrew API](doc/Berrybrew%20API.md).\n\nSee [Other Documentation](#other-documentation) for the  full list of\ndocumentation.\n\n## Table of Contents\n\n- [Install](#install)\n- [Uninstall](#uninstall)\n- [Configuration](#configuration)\n- [Commands](#commands)\n- [Examples](#examples)\n- [Update Perls Available](#update-perls-available)\n- [Configure Perl Instance Directory](#configure-root-directory)\n- [Requirements](#requirements)\n- [Troubleshooting](#troubleshooting)\n- [Development, Build, Test and Release](#development-build-test-and-release)\n- [Documentation](#other-documentation)\n- [Hidden Commands](#hidden-commands)\n- [Developed Using](#developed-using)\n- [Caveats](#caveats)\n- [License](#license)\n- [Version](#version)\n\n## Install\n\n##### Self-installing executable\n\nThe easiest and most straight forward method.\n\n[berrybrewInstaller.exe](download/berrybrewInstaller.exe?raw=true \"berrybrew MSI installer\") `SHA1: 5917766c003525f736a5cf409e1c4d0fd4cb345f`\n\n##### Git clone\n\n    git clone https://github.com/stevieb9/berrybrew\n    cd berrybrew\n    bin\\berrybrew.exe config\n\n##### Pre-built zip archive\n\n[berrybrew.zip](download/berrybrew.zip?raw=true \"berrybrew zip archive\") `SHA1: fdf4cf104cff8d6513d0511f383c034d203c1022`\n\nAfter extraction:\n\n    cd berrybrew\n    bin\\berrybrew.exe config\n\n#### Compile your own\n    \nYou can also [Compile your own](doc/Compile%20your%20own.md)\ninstallation.\n\n## Uninstall\n\nIf you used the self-extracting installer, simply run the uninstaller from\neither `Add/Remove Programs` in the Control Panel, or the `uninst.exe`\nuninstaller program located in the installation directory.\n\nIf you installed via any other method:\n\nFirst, run the `berrybrew associate unset` if you're managing the `.pl` file\nassociation with `berrybrew`.\n\nThen, run the `berrybrew unconfig` command which removes the `PATH` environment\nvariables for any in-use Perl installation, and then removes `berrybrew` from\nthe `PATH` as well.\n\nIf you wish to delete the actual installation:\n\n- Stop the UI if it's running (right-click the System Tray Icon, and click `Exit`)\n\n- Remove the Perl installation root directory (by default `C:\\berrybrew`) \n\n- Remove the original download directory\n\n- Remove the `Computer\\HKEY_LOCAL_MACHINE\\SOFTWARE\\berrybrew` registry key\n\n- If you've installed the UI, remove the \n`Computer\\HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\Current Version\\Run\\BerrybrewUI`\n  registry value\n\n## Configuration\n\nSee the [Configuration](doc/Configuration.md)\ndocument, and the `options` command in the [berrybrew](doc/berrybrew.md)\ndocumentation.\n\nSeveral of the modifiable options are configurable through the UI.\n\n## Commands\n\nSee the [berrybrew](doc/berrybrew.md) documentation for a full explanation of\nall of the following commands.\n\nFor all commands that require the name of a Perl (eg: `install`), we will default\nto 64-bit (ie. `_64`) if this suffix is omitted.\n\n    berrybrew \u003ccommand\u003e [subcommand] [option]\n\n    associate *    View and set Perl file association\n    available *    List available Strawberry Perl versions and which are installed\n    list           List installed Strawberry Perl versions\n    clean *        Remove all temporary berrybrew files\n    clone          Make a complete copy of a Perl installation\n    config         Add berrybrew to your PATH\n    exec *         Run a command for every installed Strawberry Perl\n    fetch          Update the list of Strawberry Perl instances available\n    hidden         Display the list of hidden/development commands\n    install        Download, extract and install a Strawberry Perl\n    modules *      Export and import a module list from one Perl to install on another\n    options *      Display or set a single option, or display all of them with values\n    off            Disable berrybrew perls (use 'switch' to re-enable)\n    register       Manually register a custom installation directory\n    remove         Uninstall a Strawberry Perl\n    snapshot *     Export and import snapshots of Perl instances\n    switch *       Switch to use a different Strawberry Perl\n    unconfig       Remove berrybrew from PATH\n    use *          Use a specific Strawberry Perl version temporarily\n    virtual        Allow berrybrew to manage an external Perl instance\n    help           Display this help screen\n    license        Show berrybrew license\n    version        Displays the version\n\n\n    * - view subcommand details with 'berrybrew \u003ccommand\u003e help'\n\n## Examples\n\nSee the [berrybrew](doc/berrybrew.md)\ndocument for usage examples.\n\n## Upgrading\n\nUsing the [installer](download/berrybrewInstaller.exe?raw=true \"berrybrew MSI installer\")\nis the best and safest way to upgrade your `berrybrew`. You can stop reading here\nif you use the installer to install `berrybrew`.\n\nDoing a straight `git pull` will overwrite your configuration files, so\nback them up first (see [Caveats](#caveats)).\n\n## Update Perls Available\n\nUse the `Fetch` button in the UI, or, at the command line, use `berrybrew fetch`\nto retrieve the most recent availability list from Strawberry Perl. If any new or\nchanged versions are found, we'll update the local `perls.json` file with them.\n\n## Configure Root Directory\n\nIf using the [installer](download/berrybrewInstaller.exe?raw=true \"berrybrew MSI installer\")\nto install from, you'll have the opportunity to configure this option during\ninstall, and nothing further is required.\n\nOtherwise, follow these directions:\n\nBy default, we manage Perls out of the `C:\\berrybrew` directory. To \nchange this, modify the `root_dir` value in the `data\\config.json` file.\nUse double-backslashes (`\\\\`) as the path separators. \n\nWARNING: At this time, it is highly advised not to change this after \nyou've already installed any instances of Perl. This feature is \nincomplete, and `PATH` and other things don't get properly reset yet.\nIf you choose to ignore this, follow this procedure:\n\n- create a new directory in the file system to house the Perl instances\n\n- run `berrybrew options root_dir PATH`, where `PATH` is the full path to the\ndirectory you'd like to store Perls in\n\n- run `berrybrew options temp_dir PATH`, where `PATH` is the full path to the\ntemporary storage area. Typically, this is a directory inside of the `root_dir`\nyou set above\n\n- run `berrybrew off`, to flush the `PATH` environment variables\n\n- move all Perl installations from the old path to the new one\n\n- remove the old directory\n\n- run `berrybrew switch $version` to set things back up\n\n## Requirements\n\n- .Net Framework 2.0 or higher\n\n- Windows only!\n\n- [Mono](http://www.mono-project.com) or Visual Studio (only if \ncompiling your own version)\n\n## Troubleshooting\n\nIf you run into trouble installing a Perl, try clearing the berrybrew\ncached downloads by running `berrybrew clean`. \n\nYou can also enable debugging to get more verbose output on the command\nline:\n\n    berrybrew debug \u003ccommand\u003e [options] \n\n## Development, Build, Test and Release\n\nContains all information relating to the development, build, test and release\ncycle of the `berrybrew` ecosystem.\n\nSee the [Berrybrew Development, Build, Test and Release](doc/Berrybrew%20development.md)\ndocument.\n\n## Other Documentation \n\n- [berrybrew](doc/berrybrew.md)\n Full documentation for the application\n\n- [Berrybrew API](doc/Berrybrew%20API.md)\n API documentation\n\n- [Configuration](doc/Configuration.md)\n Guide to various configuration files and options\n\n## Hidden Commands\n\nPlease see the [hidden commands](doc/berrybrew.md#hidden-commands)\nin the [berrybrew](doc/berrybrew.md)\ndocument.\n\nYou can also get a list of them by running the hidden `berrybrew hidden` command.\n\n## CAVEATS\n\n- When using `git pull` to do an upgrade, your configuration files will\nbe overwritten with the defaults. If you have any customizations, make a\nbackup of the `data` directory before upgrade, then copy the files back\nto their original location. Note that you may have to manually add any\nnew config directives into the original config files. The \n`perls_custom.json` file used for custom Perl installations (clones) and the\n`perls_virtual.json` file used for virtual Perl installations will never be\noverwritten, and this warning does not apply for them.\n\n- At this time, `berrybrew` requires Administrative privileges to\noperate correctly. This is due to the way Windows forces the System \n`PATH` to take precedence over User `PATH`.\n\n## Developed Using\n\n|Software|Description|Notes|\n|---|---|---|\n|[Jetbrains Rider](https://www.jetbrains.com/rider/)|.Net IDE|Thanks to their [Open Source Licensing](https://www.jetbrains.com/buy/opensource/)\n|[Jetbrains intelliJ IDEA](https://www.jetbrains.com/idea/)|IDE for Perl coding|Freely available, also comes with the open source license|\n|[Camelcade Perl5 Plugin](https://github.com/Camelcade/Perl5-IDEA)|Perl5 Plugin for intelliJ IDEA||\n|[Devel::Camelcadedb](https://metacpan.org/pod/distribution/Devel-Camelcadedb/lib/Devel/Camelcadedb.pod)|Adds Perl5 debug support for intelliJ IDEA||\n|[Mono](https://www.mono-project.com/)|Open Source .Net Framework||\n|[Mono C# Compiler](https://www.mono-project.com/docs/about-mono/languages/csharp/)|C#|Open Source C# Compiler|\n\n## License\n\n2 Clause FreeBSD - see [LICENSE](/LICENSE).\n\n## Original Author\n\nDavid Farrell\n\n## Current Author \n\nSteve Bertrand `steveb\u003c\u003ecpan.org`\n\n## See Also\n\n- [StrawberryPerl](http://strawberryperl.com) - Strawberry Perl for\nWindows\n\n- [Perlbrew](http://perlbrew.pl) - the original Perl version manager for\nUnix based systems.\n\n## Version\n\n1.41 \n","funding_links":[],"categories":["List of \\*env-, ch\\*- and \\*vm- style version managers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnmfarrell%2Fberrybrew","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnmfarrell%2Fberrybrew","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnmfarrell%2Fberrybrew/lists"}