- PowerShell latest version or Windows PowerShell 5.1
PowerShell execution policy is required to be one of: Unrestricted
, RemoteSigned
or ByPass
to execute the installer. For example:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Run this command from a non-admin PowerShell to install scoop with default configuration,
scoop will be install to C:\Users\<YOUR USERNAME>\scoop
.
irm get.scoop.sh | iex
# You can use proxies if you have network trouble in accessing GitHub, e.g.
irm get.scoop.sh -Proxy 'http://<ip:port>' | iex
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.
.\install.ps1 -?
For example, install scoop to a custom directory, configure scoop to install global programs to a custom directory, and bypass system proxy while installation.
.\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. (Not Recommended)
$env:SCOOP='D:\Applications\Scoop'
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
irm get.scoop.sh | iex
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 ...]
# I don't care about other parameters and want a one-line command
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
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