You can just call me choco.
GitHub Action |
---|
Come join in the conversation about Chocolatey in our Community Chat Room.
Please make sure you've read over and agree with the etiquette regarding communication.
Chocolatey FOSS install showing tab completion and refreshenv
(a way to update environment variables without restarting your shell):
Chocolatey Pro showing private CDN download cache and virus scan protection:
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.
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
.
Apache 2.0 - see LICENSE and NOTICE files.
If you are looking for packages to be added to the community feed (aka https://community.chocolatey.org/packages), please see Package Requests.
Observe the following help for submitting an issue:
Prerequisites:
Submitting a ticket:
-dv
or --debug --verbose
. You can submit that with the issue or create a gist and link it.$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).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.If you would like to contribute code or help squash a bug or two, that's awesome. Please familiarize yourself with CONTRIBUTING.
This project uses an .editorconfig file in order to help maintain consistency of code. Errors and warnings produced by not following these defined conventions will in future be enforced at build time, so ensure your contributions adhere to the rules defined in it and produce no warnings or errors in Visual Studio.
Committers, you should be very familiar with COMMITTERS.
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.
Prerequisites:
The following are a minimum set of requirements to successfully complete the build process:
dotnet tool install
)There is a setup.ps1
file at the root of this repository, which can be used to install all of the above.
Build Process:
build.bat
.[!IMPORTANT] It is assumed that Chocolatey CLI is installed on the machine where you are running the build, as this is required to generate the final Chocolatey package. If required, you can skip the creation of the Chocolatey packages using the
--shouldRunChocolatey
option, i.e..\build.bat --shouldRunChocolatey=false
Running the build on Windows should produce an artifact that is tested and ready to be used.
docker/Dockerfile.linux
for the currently recommended version of Mono.
~/.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
chmod +x *.sh
./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.
The Chocolatey CLI codebase contains a number of different tests, including unit, integration, and end-to-end tests. These are all documented in the TESTING.md file.
The unit and integration tests are NUnit tests, which can be executed directly within Visual Studio, or as part of the build process.
The end-to-end tests use Pester as the test framework. Since these tests have the potential to actually make changes to your system, we recommend using the provided Vagrant file to run these tests in a dedicated virtual machine.
./code_drop/temp/_PublishedApps/choco
to your preferred install directory. On Linux, the preferred directory is /opt/chocolatey
ChocolateyInstall
environment variable, pointing to the install directory the build output was copied too../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.Chocolatey is brought to you by quite a few people and frameworks. See CREDITS (just LEGAL/Credits.md in the zip folder).