windows scoop choco - ghdrako/doc_snipets GitHub Wiki

Install scoop

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

Install package:

scoop install nonportable/files-np

List instaled packages:

scoop list

Trzymanie porzadku

scoop cleanup *
scoop cache rm *

Komendy

Podstawowe informacje o Scoop

Komenda Opis
scoop help Wyświetla listę wszystkich komend i krótkie podpowiedzi
scoop status Sprawdza aktualny stan Scoop-a, jego katalogi i konfigurację
scoop config Pokazuje aktualną konfigurację Scoop (rootPath, buckets, cache, persist, shims itp.)
scoop which Pokazuje pełną ścieżkę do pliku wykonywalnego programu zainstalowanego przez Scoop
scoop prefix Pokazuje katalog instalacyjny programu (np. D:\Scoop\apps\nodejs-lts\20.17.0)

Instalowanie i usuwanie programów

Komenda Opis
scoop install Instalacja programu z domyślnych bucketów (np. nodejs-lts, git)
scoop uninstall Odinstalowanie programu
scoop update Aktualizacja pojedynczego programu
scoop update * Aktualizacja wszystkich programów
scoop reset Resetuje program do domyślnej wersji, przydatne przy problemach

Zarządzanie wersjami

Komenda Opis
scoop info Pokazuje aktualnie zainstalowaną wersję i dostępne wersje
scoop search Wyszukuje program w bucketach Scoop-a
scoop install @ Instalacja konkretnej wersji programu

Cache i porządkowanie

Komenda Opis
scoop cache list Wyświetla wszystkie pobrane instalatory w cache
scoop cache rm Usuwa cache dla konkretnego programu
scoop cache rm * Usuwa wszystkie pobrane pliki instalacyjne
scoop cleanup Czyści stare wersje programu (zostawia tylko najnowszą)
scoop cleanup * Czyści wszystkie stare wersje wszystkich programów

Buckets (repozytoria programów)

Komenda Opis
scoop bucket list Pokazuje listę dodanych bucketów
scoop bucket add Dodaje nowy bucket z repozytorium Scoop
scoop bucket rm Usuwa bucket z listy

Przykład:

scoop bucket add extras
scoop install vlc

Diagnostyka i naprawa

Komenda Opis
scoop checkup Sprawdza poprawność instalacji Scoop i programów
scoop export Eksportuje listę zainstalowanych programów (przydatne przy migracji)
scoop reset Resetuje konfigurację programu do domyślnej wersji

Struktura katalogu Scoop

C:\Users\<twoja_nazwa>\scoop
Folder Opis
apps\ Wszystkie programy zainstalowane przez Scoop
cache\ Tymczasowe pliki instalacyjne (można czyścić)
persist\ Dane, które mają przetrwać aktualizacje
shims\ Skróty .exe, które Scoop dodaje do PATH
buckets\ Rejestry (listy aplikacji) Scoop-a

move_scoop_to_D.ps1

# -------------------------------
# Skrypt: przenosi Scoop-a z C: na D:
# -------------------------------

# 1️⃣ Ścieżki
$oldScoop = "$env:USERPROFILE\scoop"
$newScoop = "D:\Scoop"

# 2️⃣ Sprawdzenie czy stary katalog istnieje
if (-Not (Test-Path $oldScoop)) {
    Write-Host "Nie znaleziono starego katalogu Scoop-a: $oldScoop" -ForegroundColor Red
    exit
}

# 3️⃣ Tworzenie katalogu docelowego
if (-Not (Test-Path $newScoop)) {
    New-Item -ItemType Directory -Path $newScoop
}

# 4️⃣ Kopiowanie całego katalogu Scoop na D:
Write-Host "Kopiowanie Scoop-a z C: na D:..." -ForegroundColor Cyan
Copy-Item $oldScoop $newScoop -Recurse -Force

# 5️⃣ Ustawienie zmiennej środowiskowej SCOOP
[Environment]::SetEnvironmentVariable('SCOOP', $newScoop, 'User')
$env:SCOOP = $newScoop
Write-Host "Ustawiono zmienną środowiskową SCOOP=$newScoop" -ForegroundColor Green

# 6️⃣ Aktualizacja PATH
$oldShims = "$env:USERPROFILE\scoop\shims"
$newShims = "$newScoop\shims"

$oldPath = [Environment]::GetEnvironmentVariable('Path', 'User')
if ($oldPath -like "*$oldShims*") {
    $newPath = $oldPath -replace [regex]::Escape($oldShims), $newShims
    [Environment]::SetEnvironmentVariable('Path', $newPath, 'User')
    $env:Path = $newPath
    Write-Host "Zaktualizowano PATH: $newShims" -ForegroundColor Green
} else {
    Write-Host "Nie znaleziono starego wpisu w PATH, dodaj ręcznie: $newShims" -ForegroundColor Yellow
}

# 7️⃣ Test działania Scoop
Write-Host "`nTestowanie Scoop..." -ForegroundColor Cyan
scoop list

# 8️⃣ Test Node.js i npm
Write-Host "`nTestowanie Node.js i npm..." -ForegroundColor Cyan
if (Get-Command node -ErrorAction SilentlyContinue) {
    node -v
} else {
    Write-Host "Node.js nie znaleziony" -ForegroundColor Red
}

if (Get-Command npm -ErrorAction SilentlyContinue) {
    npm -v
} else {
    Write-Host "npm nie znaleziony" -ForegroundColor Red
}

Write-Host "`nGotowe! Jeśli wszystko działa, możesz usunąć stary katalog: $oldScoop" -ForegroundColor Green
⚠️ **GitHub.com Fallback** ⚠️