Scoop Handbook
Scoop is an installer
The goal of Scoop is to let you use Unix-y programs in a normal Windows environment
Mike Zick
Scoop is a Windows download and installation tool that makes it convenient to install all kinds of software.
Directory Structure
- apps/
- git/
- current/
- 2.45.1.windows.1
- git/
- buckets/
- main/
- extras/
- cache/
- persist/
- shims/
Apps: installed software or programs.
Buckets: collections of apps. The
bucketsdirectory stores many buckets. For example,mainis the default bucket,extrasincludes common software not included in the main bucket, andnerdfontsis a bucket for font apps. Each bucket is a GitHub repository that maintains many app JSON files. These JSON files store installation information for apps, including version, license, download URL, etc. These JSON files are called app manifests. Here is a simple example:{ "version": "1.0", "url": "https://github.com/lukesampson/cowsay-psh/archive/master.zip", "extract_dir": "cowsay-psh-master", "bin": "cowsay.ps1"}Cache: stores temporary downloaded files.
Shims: Scoop adds this directory to the environment variable. For programs installed through Scoop, Scoop automatically generates a corresponding exe file under the Shims directory, so the program can be called directly from the command line after installation. For GUI programs, Scoop automatically adds shortcuts to the Start Menu under
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps.
Installation
The default installation path is C:\Users\<YOUR USERNAME>\scoop.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserInvoke-RestMethod -Uri https://get.scoop.sh | Invoke-ExpressionCustom installation directory:
$ irm get.scoop.sh -outfile 'install.ps1'$ .\install.ps1 -ScoopDir 'D:\envir_vars\scoop\' -ScoopGlobalDir 'D:\envir_vars\scoop\GlobalApps' -NoProxyIf Scoop is already installed and you want to migrate the directory, see Change Directory.
To migrate apps, export JSON with scoop export and then import it. Directly moving source directory files will not make shims work, because they still point to the original directory.
Command
Install & Uninstall
scoop search vimsearches for an app.scoop install neoviminstalls a specified app.scoop install git@2.23.0.windows.1installs a specified app version.scoop install -g gitinstalls an app globally.
Install Options:
-g, --global Install the app globally
-i, --independent Don’t install dependencies automatically
-k, --no-cache Don’t use the download cache
-u, --no-update-scoop Don’t update Scoop before installing if it’s outdated
-s, --skip Skip hash validation (use with caution!)
-a, --arch <32bit|64bit> Use the specified architecture, if the app supports it
scoop uninstall neovimuninstalls a specified app.scoop uninstall -p pythonuninstalls an app and its configuration files.scoop uninstall -g gituninstalls a global app.
Update
scoop listList installed appsscoop statusShow status and check for new app versionsName Installed Version Latest Version Missing Dependencies Info---- ----------------- -------------- -------------------- ----7zip 23.01 24.05aria2 1.36.0-1 1.37.0-1eza 0.18.15 0.18.16fastfetch 2.11.3 2.14.0fd 9.0.0 10.1.0git 2.42.0.2 2.45.1gitui 0.26.1 0.26.2kotlin 1.9.22 2.0.0neovim 0.9.5 0.10.0scoop updateupdates Scoop.scoop update neovim 7zip aria2updates specified apps.scoop update *updates all apps.scoop hold/update neovimusesholdto freeze certain apps, preventing them from being updated.unholdis the corresponding unfreeze command, removing the update restriction.
Clean
scoop cleanup gitcleans old versions of a specified app.scoop cleanup *cleans old versions of all apps.scoop cache rm *cleans cached download files.
MISC
Switch between different versions of the same program:scoop reset python@3.10.6# do somethingscoop reset python@3.12.3
aliasManage scoop aliasesbucketManage Scoop bucketscatShow content of specified manifest.checkupCheck for potential problemscreateCreate a custom app manifestdependsList dependencies for an app, in the order they’ll be installeddownloadDownload apps in the cache folder and verify hashesexportExports installed apps, buckets (and optionally configs) in JSON formathelpShow help for a commandhomeOpens the app homepageimportImports apps, buckets and configs from a Scoopfile in JSON formatinfoDisplay information about an appprefixReturns the path to the specified appshimManipulate Scoop shimsvirustotalLook for app’s hash or url on virustotal.comwhichLocate a shim/executable (similar to ‘which’ on Linux)

