Convert Figma logo to code with AI

Homebrew logohomebrew-cask

🍻 A CLI workflow for the administration of macOS applications distributed as binaries

20,822
10,649
20,822
21

Top Related Projects

🍻 A CLI workflow for the administration of macOS applications distributed as binaries

The Microsoft community Windows Package Manager manifest repository

The MacPorts ports tree

Quick Overview

Homebrew/homebrew-cask is a command-line interface (CLI) package manager for macOS applications. It extends the functionality of Homebrew, allowing users to easily install and manage GUI applications on macOS through the terminal. This project simplifies the process of installing, updating, and removing macOS applications.

Pros

  • Streamlines the installation process for macOS applications
  • Allows for easy management of applications through the command line
  • Keeps applications up-to-date with simple commands
  • Integrates seamlessly with the Homebrew ecosystem

Cons

  • Limited to macOS only
  • Some applications may not be available or up-to-date in the Cask repository
  • Requires command-line knowledge, which may be intimidating for some users
  • Occasional conflicts with manually installed applications

Getting Started

To get started with Homebrew Cask, follow these steps:

  1. Install Homebrew (if not already installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Homebrew Cask is included with Homebrew, so no additional installation is needed.

  2. Search for available applications:

brew search --casks
  1. Install an application (e.g., Google Chrome):
brew install --cask google-chrome
  1. Update all installed casks:
brew upgrade --cask
  1. Remove an installed application:
brew uninstall --cask google-chrome

For more information and advanced usage, refer to the official Homebrew Cask documentation.

Competitor Comparisons

🍻 A CLI workflow for the administration of macOS applications distributed as binaries

Pros of homebrew-cask

  • Provides a centralized repository for macOS application casks
  • Offers a wide range of popular and well-maintained casks
  • Integrates seamlessly with the Homebrew package manager

Cons of homebrew-cask

  • May have slower update cycles for some applications
  • Limited to macOS applications only
  • Requires manual intervention for some application updates

Code Comparison

homebrew-cask:

cask "example-app" do
  version "1.2.3"
  sha256 "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z"
  
  url "https://example.com/app-#{version}.dmg"
  name "Example App"
  homepage "https://example.com/"
  
  app "Example.app"
end

homebrew-cask:

cask "example-app" do
  version "1.2.3"
  sha256 "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z"
  
  url "https://example.com/app-#{version}.dmg"
  name "Example App"
  homepage "https://example.com/"
  
  app "Example.app"
end

As you can see, the code structure for both repositories is identical, as they are essentially the same project. The homebrew-cask repository is the main cask repository for Homebrew, containing cask definitions for various macOS applications.

The Microsoft community Windows Package Manager manifest repository

Pros of winget-pkgs

  • Native Windows integration, leveraging Microsoft's ecosystem
  • Supports a wider range of Windows versions
  • Faster installation process for some packages

Cons of winget-pkgs

  • Smaller package repository compared to homebrew-cask
  • Less mature and established ecosystem
  • Limited community contributions and third-party package support

Code Comparison

winget-pkgs manifest (YAML):

Id: Publisher.AppName
Version: x.x.x
Name: App Name
Publisher: Publisher Name
License: License
InstallerType: exe
Installers:
  - Arch: x64
    Url: https://example.com/app-installer.exe
    Sha256: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

homebrew-cask formula (Ruby):

cask "app-name" do
  version "x.x.x"
  sha256 "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  url "https://example.com/app-installer.dmg"
  name "App Name"
  homepage "https://example.com"
  app "App Name.app"
end

Both repositories serve as package managers for their respective operating systems, with homebrew-cask focusing on macOS and winget-pkgs on Windows. While homebrew-cask has a larger and more established community, winget-pkgs benefits from native Windows integration and Microsoft's backing. The code structures differ, with winget-pkgs using YAML manifests and homebrew-cask using Ruby-based formulas.

The MacPorts ports tree

Pros of macports-ports

  • More comprehensive package collection, including many scientific and specialized software
  • Stricter adherence to Unix principles and filesystem hierarchy
  • Better isolation of installed packages from the system

Cons of macports-ports

  • Slower installation process due to compiling from source
  • Requires more disk space for installations
  • Less user-friendly for beginners compared to Homebrew

Code Comparison

macports-ports:

PortSystem          1.0
name                example
version             1.0
categories          devel
maintainers         example.com:dev
description         An example port
long_description    ${description}

homebrew-cask:

cask "example" do
  version "1.0"
  sha256 "abc123..."
  url "https://example.com/example-#{version}.dmg"
  name "Example App"
  desc "An example application"
  homepage "https://example.com"
end

Both repositories serve as package management systems for macOS, but they differ in their approach and target audience. macports-ports offers a more traditional Unix-like package management experience, while homebrew-cask focuses on simplicity and user-friendliness. The code examples show the different syntaxes used for defining packages in each system, with macports-ports using TCL and homebrew-cask using Ruby.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Homebrew Cask

“To install, drag this icon…” no more!

Homebrew Cask extends Homebrew and brings its elegance, simplicity, and speed to the installation and management of GUI macOS applications such as Visual Studio Code and Google Chrome.

We do this by providing a friendly CLI workflow for the administration of macOS applications distributed as binaries.

Join us on GitHub discussions

Let’s try it!

To start using Homebrew Cask, you just need Homebrew installed.

Installing and uninstalling Alfred (animated gif)

Slower, now:

$ brew install alfred
==> Downloading https://cachefly.alfredapp.com/Alfred_4.2.1_1187.dmg
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'alfred'.
==> Installing Cask alfred
==> Moving App 'Alfred 4.app' to '/Applications/Alfred 4.app'.
🍺  alfred was successfully installed!

And there we have it. An application installed with one quick command: no clicking, no dragging, no dropping.

Learn More

  • Find basic documentation on using Homebrew Cask in USAGE.md.
  • Want to contribute a cask? Awesome! See CONTRIBUTING.md.
  • More project-related details and discussion are available in the documentation.

Reporting Bugs

If you ignore this guide, your issue may be closed without review

Before reporting a bug, run brew update-reset && brew update and try your command again. This is a fix-all that will reset the state of all your taps, ensuring the problem isn’t an outdated setup on your side.

If your issue persists, search for it before opening a new one. If you find an open issue and have any new information, add it in a comment. If you find a closed issue, try the solutions there.

If the issue is still not solved, see the guides for common problems:

Requests

Questions? Wanna chat?

We’re really rather friendly! Here are the best places to talk about the project:

License

Code is under the BSD 2 Clause (NetBSD) license.