Scoop (un)installer
Installation
Prerequisites
PowerShell latest version or Windows PowerShell 5.1
-
The PowerShell Language Mode is required to be
FullLanguageto run the installer and Scoop. -
The PowerShell Execution Policy is required to be one of
RemoteSigned,UnrestrictedorByPassto run the installer. For example, it can be set toRemoteSignedvia:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Typical Installation
Run this command from a non-admin PowerShell to install scoop with default configuration,
scoop will be install to C:\Users\<YOUR USERNAME>\scoop.
You can use proxies if you have network trouble in accessing GitHub.
iex "& {$(irm get.scoop.sh -Proxy 'http://<ip:port>')} -Proxy 'http://<ip:port>'" # or $env:HTTP_PROXY='http://<ip:port>' $env:HTTPS_PROXY='http://<ip:port>' irm get.scoop.sh | iex
Advanced Installation
If you want to have an advanced installation, you can download the installer and manually execute it with parameters.
irm get.scoop.sh -outfile 'install.ps1'
To see all configurable parameters of the installer.
For example, you could install scoop to a custom directory, configure scoop to install global programs to a custom directory, and bypass system proxy during installation. The custom directories should be absolute paths.
.\install.ps1 -ScoopDir 'D:\Applications\Scoop' -ScoopGlobalDir 'F:\GlobalScoopApps' -NoProxy
Or you can use the legacy method to configure custom directory by setting Environment Variables.
$env:SCOOP='D:\Applications\Scoop' $env:SCOOP_GLOBAL='F:\GlobalScoopApps' [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine') irm get.scoop.sh | iex
For Admin
Installation under the administrator console has been disabled by default for
security considerations. If you know what you are doing and want to install
Scoop as administrator. Please download the installer and manually execute it
with the -RunAsAdmin parameter in an elevated console. Here is the example:
irm get.scoop.sh -outfile 'install.ps1' .\install.ps1 -RunAsAdmin [-OtherParameters ...]
What if I don't care and just want a one-line command:
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"CI Pipeline
It's common to use Scoop in CI pipelines to install tools. Here is an example for GitHub Actions:
- name: Install Scoop shell: pwsh run: | irm get.scoop.sh | iex exit $LASTEXITCODE
Make sure to exit $LASTEXITCODE to propagate the installation result to the
pipeline when using the iex-style installation.
Silent Installation
You can redirect all outputs to Out-Null or a log file to silence the installer.
And you can use $LASTEXITCODE to check the installation result, it will be 0
when the installation success.
# Omit outputs .\install.ps1 [-Parameters ...] | Out-Null # Or collect logs .\install.ps1 [-Parameters ...] > install.log # Get result $LASTEXITCODE
License
The project is released under the Unlicense License and into the public domain.