이 글에 소개된 모든 소프트웨어는筆者가 실사용하는 것으로,仅供参考용입니다.
1. scoop으로 소프트웨어 관리하기
scoop 설치
# 실행 정책 변경
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# scoop 설치 스크립트 다운로드 (사용자 디렉터리에서 실행 시 실패할 수 있으므로 다른 디렉터리에서 실행)
irm get.scoop.sh -outfile 'install.ps1'
# 설치 스크립트 실행 및 scoop 및 전역 앱 설치 디렉터리 지정
.\install.ps1 -ScoopDir 'D:\dev-tools\scoop' -ScoopGlobalDir 'D:\dev-tools\scoopGlobal'
scoop에 프록시 설정
scoop config proxy 127.0.0.1:10809
bucket 추가
bucket 추가 전 git 설치 필요. bucket 추가 실패 시 git에 프록시 설정
# 공식 bucket
scoop bucket add versions
scoop bucket add extras
scoop bucket add java
scoop bucket add nirsoft
# 주요 bucket
scoop bucket add aki https://github.com/akirco/aki-apps
scoop bucket add dorado https://github.com/chawyehsu/dorado
scoop bucket add extras-cn https://github.com/Scoopforge/Extras-CN
scoop bucket add winapps https://github.com/WinApps-share/WinApps-bucket
# 더 다양한 소프트웨어 검색 시 추가
scoop bucket add apps https://github.com/kkzzhizhou/scoop-apps
추가 권장 사항
다음은 scoop 사용성을 높이는 선택적 제안사항
####便捷 스크립트
easy-scoop.bat 생성하여 scoop 업데이트 및 정리 실행
@echo off
chcp 65001 >nul
powershell -Command "Write-Host 'Scoop 및 소프트웨어 업데이트...' -ForegroundColor Gray"
powershell -Command scoop update *
powershell -Command "Write-Host ''"
powershell -Command "Write-Host '이전 소프트웨어 버전 정리...' -ForegroundColor Gray"
powershell -Command scoop cleanup *
powershell -Command "Write-Host ''"
powershell -Command "Write-Host '다운로드 캐시 삭제...' -ForegroundColor Gray"
powershell -Command scoop cache rm *
powershell -Command "Write-Host ''"
powershell -Command "Write-Host '완료!' -ForegroundColor Green"
powershell -Command "Write-Host ''"
powershell -Command "Write-Host '남은 캐시:' -ForegroundColor Cyan"
powershell -Command scoop cache show
pause
검색 속도 향상
scoop-search 설치로 검색 효율성 개선
scoop install scoop-search
# 설치 후 검색 명령어 사용
scoop-search <package>
단축키 생성
scoop으로 설치한 앱에便捷하게 접근하려면 다음 디렉터리를 데스크톱에 추가: C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps
Git 설치
scoop install git
Git 설정
# Windows 자격 증명 관리자를 사용하여 원격 저장소의 사용자명 및 비밀번호 저장
git config --global credential.helper manager
# 우클릭 메뉴 통합
reg import "$(scoop prefix git)\install-context.reg"
# 파일 연결 설정
reg import "$(scoop prefix git)\install-file-associations.reg"
# Git이 프록시 사용하도록 설정
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy https://127.0.0.1:10809
Java 설치
scoop이 자동으로 환경 변수 설정하므로 추가 작업 불필요
scoop install java/openjdk8-redhat
scoop install java/openjdk17
# Java 버전 전환
scoop reset openjdk17
Maven 설치
scoop install maven
저장소 경로 및 미러 설정
scoop은 maven의 conf, lib/ext 등 영구화가 필요한 디렉터리를 기호 링크를 통해 persist 디렉터리로 연결. 업데이트/제거 시 데이터 손실 없음
설정 파일 경로: <scoop디렉터리>\persist\maven\conf\settings.xml
<!-- 저장소 경로 설정 -->
<localRepository>D:\dev-projects\repository\maven_repo</localRepository>
<!-- 미러 설정 -->
<mirror>
<id>aliyun</id>
<mirrorOf>*</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
Gradle 설치
scoop install gradle
저장소 경로 설정
scoop이 자동으로 GRADLE_USER_HOME 환경 변수 추가. 기본 저장소는 persist 디렉터리에 있어 C 드라이브 영향 없으므로 수정 불필요
[Environment]::SetEnvironmentVariable("GRADLE_USER_HOME", "D:\dev-projects\repository\gradle_repo", "User")
Node.js + npm 설치
# 최신 장기 지원 버전
scoop install nodejs-lts
# 특정 버전
scoop install versions/nodejs20
npm 미러 설정
npm config set registry https://registry.npmmirror.com
npm 전역 디렉터리 설정
# 순서대로: 전역 명령 도구, 캐시; 저장소는 <prefix>/node_modules 디렉터리
npm config set prefix "D:\dev-projects\repository\node_repo"
npm config set cache "D:\dev-projects\repository\node_repo\cache"
prefix를 환경 변수에 추가해야 npm -g로 설치한 도구를 명령어로 찾을 수 있음
[Environment]::SetEnvironmentVariable("Path", "D:\dev-projects\repository\node_repo;" + [Environment]::GetEnvironmentVariable("Path", "User"), "User")
pnpm 설치
scoop install pnpm
pnpm 미러는 npm 설정을 따르므로 추가 설정 불필요
pnpm 전역 디렉터리 설정
# 순서대로: 전역 명령 도구, 저장소, 캐시, 상태, 전역 설치 패키지
pnpm config set global-bin-dir "D:\dev-projects\repository\pnpm_repo\global-bin"
pnpm config set store-dir "D:\dev-projects\repository\pnpm_repo\store"
pnpm config set cache-dir "D:\dev-projects\repository\pnpm_repo\cache"
pnpm config set state-dir "D:\dev-projects\repository\pnpm_repo\state"
pnpm config set global-dir "D:\dev-projects\repository\pnpm_repo\global"
global-bin-dir를 환경 변수에 추가해야 pnpm -g로 설치한 도구를 명령어로 찾을 수 있음
[Environment]::SetEnvironmentVariable("Path", "D:\dev-projects\repository\pnpm_repo\global-bin;" + [Environment]::GetEnvironmentVariable("Path", "User"), "User")
Python 설치
설치한 uv는 Python 생태계를 위한 패키지 관리자로, uv를 통해 다중 버전 공존, 버전 관리, 구성 요소管理等 복잡한 기능 수행 가능
scoop install uv
이제 pip를 완전히 포기 가능. 모든 명령어를 uv로 대체 가능
미러 설정
[Environment]::SetEnvironmentVariable("UV_DEFAULT_INDEX", "https://pypi.tuna.tsinghua.edu.cn/simple", "User")
저장소 경로 설정
# 순서대로: Python 설치 경로, 캐시, 도구, 실행 데이터, 상태
[Environment]::SetEnvironmentVariable("UV_PYTHON_INSTALL_DIR", "D:\dev-projects\repository\uv_repo\python", "User")
[Environment]::SetEnvironmentVariable("UV_CACHE_DIR", "D:\dev-projects\repository\uv_repo\cache", "User")
[Environment]::SetEnvironmentVariable("UV_TOOL_DIR", "D:\dev-projects\repository\uv_repo\tools", "User")
[Environment]::SetEnvironmentVariable("UV_DATA_DIR", "D:\dev-projects\repository\uv_repo\data", "User")
[Environment]::SetEnvironmentVariable("UV_STATE_DIR", "D:\dev-projects\repository\uv_repo\state", "User")
Python 설치
Python을 직접 설치하지 않아도 uv가 실행 시 필요한 버전을 자동으로 가져옴 전역 기본 버전을 설치하여 다른 도구에서 호출 가능
# --default 파라미터는 해당 버전을 기본 버전으로 설정. 터미널에 python 입력 시 이 버전 사용
uv python install --default 3.13
# 터미널 환경 업데이트로 uv 관리 Python을 shell에서 사용 가능하게 함 (첫 설치 시에만 필요)
uv python update-shell
Rust 설치
설치한 rustup은 Rust 생태계를 위한 패키지 관리자로, rustup을 통해 다중 버전 공존, 버전 관리, 구성 요소管理等 복잡한 기능 수행 가능
scoop install rustup
rustup의 자기 업데이트 비활성화하여 rustup 자체 버전을 scoop이 관리하도록 함
rustup set auto-self-update disable
MSVC 환경 설치
Visual Studio 빌드 도구 다운로드 후 설치. 설치 시 x64/x86용 MSVC 빌드 도구와 Windows 11 SDK 두 구성 요소만 선택安装即可.
이전에 설치했다가 삭제한 경우 설치 경로 수정 불가할 수 있음. 레지스트리에서 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup 내부 내용 삭제 후 다시 설치하면 됨.
저장소 경로 설정 (권장하지 않음)
scoop이 자동으로 RUSTUP_HOME과 CARGO_HOME 환경 변수 추가. 기본 저장소는 persist 디렉터리에 있어 C 드라이브 영향 없으므로 수정 불필요.
참고: 수정 실행 시 persist 디렉터리 파일을 이동해야 파일을 찾을 수 있음
# rust 툴체인 설치 주소
[Environment]::SetEnvironmentVariable("RUSTUP_HOME", "D:\dev-projects\repository\rust_repo\.rustup", "User")
# cargo 저장소 주소
[Environment]::SetEnvironmentVariable("CARGO_HOME", "D:\dev-projects\repository\rust_repo\.cargo", "User")
rustup 미러 설정
# 컴파일러 미러
[Environment]::SetEnvironmentVariable("RUSTUP_DIST_SERVER", "https://mirrors.ustc.edu.cn/rust-static", "User")
# 툴체인 미러
[Environment]::SetEnvironmentVariable("RUSTUP_UPDATE_ROOT", "https://mirrors.ustc.edu.cn/rust-static/rustup", "User")
cargo 미러 설정
설정 파일 경로: <CARGO_HOME>\config.toml
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
[net]
git-fetch-with-cli = true
MySQL 설치
scoop install mysql-lts
MySQL 시작
현재 터미널을 닫지 않고 유지. 새 터미널에서 mysql -u root -p로 MySQL 접근
mysqld --console
MySQL 서비스로 등록
관리자 권한으로 실행; 서비스 등록 시 부팅 시 자동 시작되어 수동 시작 불필요
# 서비스 등록
mysqld install MySQL --defaults-file="D:\dev-tools\scoop\apps\mysql-lts\current\my.ini"
# 서비스 시작 (powershell에서는 sc.exe, CMD에서는 sc 사용 가능)
sc.exe start MySQL
# 서비스 중지
sc.exe stop MySQL
# 서비스 삭제
sc.exe delete MySQL
Redis 설치
scoop install redis
<scoop디렉터리>\apps\redis\current\start.bat 스크립트로 Redis 시작. scoop 설치 버전은 서비스 포함이 아니어서 서비스로 등록 불가.
office-tool-plus 설치
scoop install extras/office-tool-plus
<scoop디렉터리>\apps\office-tool-plus\<version>\Office Tool Plus.exe로 소프트웨어 시작. current 디렉터리에서 시작하면 설치 실패함. 이유 참고: 해당 issue
기타 소프트웨어
소프트웨어 자동 업데이트 비활성화하여 중복 설치 방지
scoop install extras/another-redis-desktop-manager
scoop install extras/cherry-studio
scoop install extras/notepadplusplus
scoop install extras/potplayer
scoop install extras/reqable
scoop install extras/ayugram
scoop install extras/stranslate
scoop install nirsoft/searchmyfiles
scoop install extras-cn/m3u8-downloader
scoop install winapps/xterminal
scoop install winapps/pixpin
확장 작업
# Notepad++를 파일 우클릭 메뉴에 추가하여 빠른 열기 가능
reg import "$(scoop prefix notepadplusplus)\install-context.reg"
2. winget으로 소프트웨어 설치하기
자주 사용하거나 강제 업데이트가 필요한 소프트웨어는 winget으로 관리하여 중복 설치 방지
winget install Google.Chrome
winget install Tencent.WeType -i
# -l 명령으로 설치 디렉터리 지정
winget install Alibaba.aDrive -l "D:\dev-tools\WinGet\aDrive"
winget install Alibaba.QuarkCloudDrive -l "D:\dev-tools\WinGet\QuarkCloudDrive"
winget install NetEase.CloudMusic -l "D:\dev-tools\WinGet\CloudMusic"
# -l 호환성이 안 좋은 소프트웨어는 -i 인터랙티브 설치 사용하여 수동 설치 경로 지정
winget install Baidu.BaiduNetdisk -l "D:\dev-tools\WinGet\BaiduNetdisk" -i
winget install Tencent.QQ.NT -l "D:\dev-tools\WinGet\QQNT" -i
winget install Tencent.WeChat -l "D:\dev-tools\WinGet\WeChat" -i
winget install JetBrains.IntelliJIDEA.Ultimate -l "D:\dev-tools\WinGet\IntelliJIDEA" -i
winget install Microsoft.VisualStudioCode -l "D:\dev-tools\WinGet\VisualStudioCode" -i