• Stars
    star
    10,157
  • Rank 3,429 (Top 0.07 %)
  • Language
    C#
  • License
    Other
  • Created almost 10 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Chocolatey - the package manager for Windows

Chocolatey - like yum or apt-get, but for Windows

You can just call me choco.

Chocolatey Logo

Docker Image Version (latest semver) Project Stats Coverage Status

Build Status

GitHub Action
GitHub Workflow Status (branch)

Chat Room

Come join in the conversation about Chocolatey in our Community Chat Room.

Discord

Please make sure you've read over and agree with the etiquette regarding communication.

Support Chocolatey!

See Chocolatey In Action

Chocolatey FOSS install showing tab completion and refreshenv (a way to update environment variables without restarting your shell):

install

Chocolatey Pro showing private CDN download cache and virus scan protection:

install w/pro

Etiquette Regarding Communication

If you are an open source user requesting support, please remember that most folks in the Chocolatey community are volunteers that have lives outside of open source and are not paid to ensure things work for you, so please be considerate of others' time when you are asking for things. Many of us have families that also need time as well and only have so much time to give on a daily basis. A little consideration and patience can go a long way. After all, you are using a pretty good tool without cost. It may not be perfect (yet), and we know that.

If you are using a commercial edition of Chocolatey, you have different terms! Please see support.

Information

Documentation

Please see the docs

Give choco.exe -? a shot (or choco.exe -h). For specific commands, add the command and then the help switch e.g. choco.exe install -h.

Requirements

License / Credits

Apache 2.0 - see LICENSE and NOTICE files.

Submitting Issues

submitting issues

  1. Start with Troubleshooting and the FAQ to see if your question or issue already has an answer.
  2. If not found or resolved, please follow one of the following avenues:
    • If you are a licensed customer, please see support. You can also log an issue to Licensed Issues and we will submit issues to all other places on your behalf. Another avenue is to use email support to have us submit tickets and other avenues on your behalf (allowing you to maintain privacy).
    • If it is an enhancement request or issue with the website (the community package repository aka https://community.chocolatey.org), please submit the issue to the Chocolatey.org repo.
    • If you have found an issue with the GUI (Chocolatey GUI) or you want to submit an enhancement, please see the ChocolateyGUI repository.
    • If you have found an issue with the client (choco.exe), you are in the right place. Keep reading below.

Observe the following help for submitting an issue:

Prerequisites:

  • The issue has to do with choco itself and is not a package or website issue.
  • Please check to see if your issue already exists with a quick search of the issues. Start with one relevant term and then add if you get too many results.
  • You are not submitting an "Enhancement". Enhancements should observe CONTRIBUTING guidelines.
  • You are not submitting a question - questions are better served as emails or Community Chat questions.
  • Please make sure you've read over and agree with the etiquette regarding communication.

Submitting a ticket:

  • We'll need debug and verbose output, so please run and capture the log with -dv or --debug --verbose. You can submit that with the issue or create a gist and link it.
  • Please note that the debug/verbose output for some commands may have sensitive data (passwords or API keys) related to Chocolatey, so please remove those if they are there prior to submitting the issue.
  • choco.exe logs to a file in $env:ChocolateyInstall\log\. You can grab the specific log output from there so you don't have to capture or redirect screen output. Please limit the amount included to just the command run (the log is appended to with every command).
  • Please save the log output in a gist (save the file as log.sh) and link to the gist from the issue. Feel free to create it as secret so it doesn't fill up against your public gists. Anyone with a direct link can still get to secret gists. If you accidentally include secret information in your gist, please delete it and create a new one (gist history can be seen by anyone) and update the link in the ticket (issue history is not retained except by email - deleting the gist ensures that no one can get to it). Using gists this way also keeps accidental secrets from being shared in the ticket in the first place as well.
  • We'll need the entire log output from the run, so please don't limit it down to areas you feel are relevant. You may miss some important details we'll need to know. This will help expedite issue triage.
  • It's helpful to include the version of choco, the version of the OS, and the version of PowerShell (Posh) - the debug script should capture all of those pieces of information.
  • Include screenshots and/or animated gifs whenever possible, they help show us exactly what the problem is.

Contributing

If you would like to contribute code or help squash a bug or two, that's awesome. Please familiarize yourself with CONTRIBUTING.

Committers

Committers, you should be very familiar with COMMITTERS.

Compiling / Building Source

There is a build.bat/build.sh file that creates a necessary generated file named SolutionVersion.cs. It must be run at least once before Visual Studio will build.

Windows

Prerequisites:

  • .NET Framework 4.8+
  • Visual Studio 2019+
  • ReSharper is immensely helpful (and there is a .sln.DotSettings file to help with code conventions).

Build Process:

  • Run build.bat.

Running the build on Windows should produce an artifact that is tested and ready to be used.

Other Platforms

Prerequisites:
  • Install and configure Mono. Mono 6.6 or newer should work, see docker/Dockerfile.linux for the currently recommended version of Mono.
  • Install .NET 6.0 SDK or newer. This is used in the build scripts.
    • Linux systems; see Install .NET on Linux
    • Mac systems; see Install .NET on macOS
    • This is required for some Dotnet Global Tools used during the Cake build. The .NET Frameworks equivalent builds do not work on Mono.
  • If building from Git, then having Git 2.22+ installed is required.
  • MonoDevelop is helpful for working on source.
Before building:
  • Consider adding the following to your ~/.profile (or other relevant dot source file):
# Mono
# http://www.michaelruck.de/2010/03/solving-pkg-config-and-mono-35-profile.html
# https://cloudgen.wordpress.com/2013/03/06/configure-nant-to-run-under-mono-3-06-beta-for-mac-osx/
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig:$PKG_CONFIG_PATH
  • Set your permissions correctly:
chmod +x *.sh
Build Process:
  • Run ./build.sh.

Running the build on Mono produces an artifact similar to Windows but may have more rough edges. You may get a failure or two in the build script that can be safely ignored.

Installing on Other Platforms:

  1. Get a copy of the source code and build.
  2. Copy (or link) the contents of ./code_drop/temp/_PublishedApps/choco to your preferred install directory. On Linux, the preferred directory is /opt/chocolatey
  3. Export the ChocolateyInstall environment variable, pointing to the install directory the build output was copied too.
  4. Copy ./docker/choco_wrapper to a directory on the $PATH, rename to choco, and if the install directory is something else than /opt/chocolatey, then edit it to point to the correct path.

Credits

Chocolatey is brought to you by quite a few people and frameworks. See CREDITS (just LEGAL/Credits.md in the zip folder).

More Repositories

1

ChocolateyGUI

A delicious GUI for Chocolatey
C#
1,546
star
2

boxstarter

Repeatable, reboot resilient windows environment installations made easy using Chocolatey packages
PowerShell
1,309
star
3

cChoco

Community resource to manage Chocolatey
PowerShell
154
star
4

docs

https://docs.chocolatey.org - new docs website
HTML
129
star
5

chocolatey-workshop

Chocolatey Workshop
PowerShell
96
star
6

shimgen

This repository exists to file issues against shimgen
C#
92
star
7

choco-wiki

The content from this repository has been moved to https://github.com/chocolatey/docs. If you have found an issue, or want to submit a fix, then please open an issue, or a PR, on that repository.
80
star
8

chocolatey-ansible

The Chocolatey module collection for Ansible
PowerShell
48
star
9

package-validator

Windows service to validate packages conform to package standards
C#
31
star
10

nuget-chocolatey

NuGet Enhanced for Chocolatey
C#
24
star
11

home

The place to start for issues with areas of Chocolatey that are infrastructure related, or really any issues could be started here. There is also choco for the CLI client, Chocolatey GUI for the GUI.
22
star
12

chocolatey-licensed-issues

Issues for Licensed Editions of Chocolatey
19
star
13

puppet-chocolatey-handsonlab

This is the hands on lab from PuppetConf 2013 using the chocolatey provider
PowerShell
14
star
14

choco-quickstart-scripts

C4B Quick-Start Guide - Supporting Scripts
PowerShell
13
star
15

checksum

Validates MD5/SHA1 CheckSums on the command line.
C#
13
star
16

chocolatey-environments

Environments used to test and demonstrate Chocolatey features and benefits.
PowerShell
11
star
17

chocolatey-workshop-organizational-use

PowerShell
8
star
18

ChocoCCM

PowerShell module for interacting with Chocolatey Central Management
PowerShell
8
star
19

.github

7
star
20

NuGet.Server-chocolatey

Chocolatey enhanced NuGet.Server code (not Chocolatey.Server - that's chocolatey/simple-server)
C#
7
star
21

chocolatey-book

5
star
22

boxstarter.org

HTML
4
star
23

choco-theme

The global theme for Chocolatey Software.
SCSS
4
star
24

Chocolatey.Cake.Recipe

A set of convention based Cake scripts for building Chocolatey projects
C#
4
star
25

chocolatey-workshop-internalizer

Setting up Internal Chocolatey Deployments
PowerShell
3
star
26

chocolatey-media-kit

3
star
27

CloudCreate

PowerShell
2
star
28

choco-jenkins

1
star
29

c4b-ansible

Jinja
1
star