Running on Non-Windows Systems

Running on Non-Windows Systems

Installation

There are Docker images available on Docker Hub.

Alternatively, to create the Mono build of Chocolatey CLI from source, see the chocolatey/choco repository README for instructions. Chocolatey CLI can be run on top of Mono on both Linux and MacOS systems.

Chocolatey CLI Limitations On Non-Windows Systems

When running on non-Windows systems, the intended use of Chocolatey CLI has a much more specific focus than it does on Windows systems. This focus is the creation and maintenance of packages.

Some features that relate to installing and uninstalling software, such as the package PowerShell scripts, the automatic uninstaller, and alternate installation sources (e.g. WindowsFeatures) are disabled, and will never work as they interface with Windows specific components.

The commands for installing, pinning, upgrading and uninstalling packages are available, but they are intended to be used with only .template packages. Other packages should install with a warning, but in most cases will not be very useful as the install script gets skipped and any embedded binaries would be for Windows systems.

Chocolatey CLI Commands Supported On Non-Windows Systems

:choco-info: NOTE

This list is not final and may change as commands are added, modified, or removed.

These commands are supported on non-Windows systems:

  • list
  • search
  • find
  • help
  • info
  • pack
  • push
  • new
  • config
  • feature
  • apikey
  • template

These commands are supported for management of .template packages:

:choco-info: NOTE

All commands will run, but these commands may print warnings if they are used with non .template packages.

  • install
  • pin
  • outdated
  • upgrade
  • source
  • uninstall
  • export

Chocolatey Licensed Extension

The Chocolatey Licensed Extension is currently not supported and does not work correctly on non-Windows systems.

History

Ever since we released 0.9.9 back in 2015, we've had it running in Mono which allows you to do package maintenance and simple things outside of managing software installations on Linux and MacOS environments.

In fact we first showed it off at PuppetConf 2014 (prior to the official March 2015 release!) - https://www.youtube.com/watch?v=cZl_wKSciVk

In 2017, community member linuturk contributed a Dockerfile to Chocolatey, and uploaded an unofficial image to Docker Hub.

Over the intervening couple of years, a number of improvements were added and brought it to the point that an official Docker image was created in 2021.