پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: Chocolatey و Winget داخل PowerShell
این درسنامه به معرفی مدیریت بستهها در ویندوز با PowerShell میپردازد و دو ابزار مهم یعنی Chocolatey و Winget را بررسی میکند. هدف، یادگیری نصب، بهروزرسانی و مدیریت نرمافزارها و ابزارها از طریق PowerShell است تا فرآیند نصب برنامهها خودکار، سریع و قابل تکرار شود.
۱. مدیریت بستهها در ویندوز
در سیستمهای لینوکس، مدیر بستهها مثل apt یا yum به نصب و مدیریت نرمافزارها کمک میکند. ویندوز به صورت پیشفرض چنین ابزاری ندارد، اما Chocolatey و Winget این خلأ را پر کردهاند. با استفاده از PowerShell میتوان:
- نرمافزارها را نصب یا حذف کرد
- نسخه نرمافزارها را بهروزرسانی کرد
- اسکریپتهایی برای نصب سریع محیط توسعه یا ابزارهای مورد نیاز نوشت
۲. Chocolatey
ابزار Chocolatey یکی از محبوبترین مدیر بستهها برای ویندوز است و میتواند برنامهها را با یک دستور نصب کند.
نصب Chocolatey:
در PowerShell با دسترسی ادمین، دستور زیر را اجرا کنید:
Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
استفاده از Chocolatey:
- نصب نرمافزار:
choco install git -y
- بهروزرسانی نرمافزار:
choco upgrade git -y
- حذف نرمافزار:
choco uninstall git -y
- جستجوی نرمافزار:
choco search vscode
-y به معنای تایید خودکار است تا از شما برای تایید نصب سوال نپرسد.
۳. Winget
ابزار Winget یک ابزار رسمی مایکروسافت برای مدیریت بستهها است و از ویندوز ۱۰ به بعد به صورت پیشفرض در سیستم موجود است.
استفاده از Winget:
- نصب نرمافزار:
winget install --id Git.Git -e --source winget
- بهروزرسانی نرمافزار:
winget upgrade Git.Git
- حذف نرمافزار:
winget uninstall Git.Git
- جستجوی نرمافزار:
winget search vscode
ابزار Winget از شناسه بسته (Package ID) استفاده میکند و گزینه -e اطمینان میدهد که شناسه دقیق تطبیق داده شود.
۴. تفاوت Chocolatey و Winget
- Chocolatey: جامعه بزرگ، امکان نصب نسخههای مختلف، پشتیبانی از اسکریپتها و ابزارهای مدیریتی حرفهای.
- Winget: رسمی مایکروسافت، سبک و ساده، به صورت پیشفرض روی ویندوز نصب است، مناسب برای نصب سریع نرمافزارهای رایج.
۵. اتوماسیون نصب نرمافزار با PowerShell
با ترکیب Chocolatey یا Winget با PowerShell، میتوان اسکریپتهای آمادهسازی محیط توسعه نوشت.
مثال اسکریپت نصب ابزارهای پایه یک برنامهنویس:
# اسکریپت نصب ابزارها Write-Host "Installing development tools..." # Chocolatey choco install git -y choco install vscode -y choco install nodejs -y # Winget winget install --id Python.Python.3.12 -e --source winget winget install --id Docker.DockerDesktop -e --source winget Write-Host "All tools installed successfully!"
این اسکریپت را میتوان روی هر سیستم ویندوز اجرا کرد تا محیط توسعه در چند دقیقه آماده شود.
۶. نکات امنیتی و تنظیمات
- اجرای اسکریپتهای نصب نیاز به PowerShell با دسترسی Administrator دارد.
- برای اجرای بدون سوال از
-yدر Chocolatey و--accept-package-agreementsو--accept-source-agreementsدر Winget استفاده کنید. - برای اسکریپتهای اتوماسیون، توصیه میشود همیشه نسخه مشخصی از نرمافزارها را نصب کنید تا ثبات محیط حفظ شود.
جمعبندی
- ابزارهای Chocolatey و Winget ابزارهای قدرتمند مدیریت بسته در ویندوز هستند و با PowerShell یکپارچه میشوند.
- میتوان نصب، حذف، بهروزرسانی و جستجوی نرمافزارها را با یک یا چند دستور ساده انجام داد.
- ترکیب این ابزارها با اسکریپتهای PowerShell امکان ایجاد اسکریپتهای آمادهسازی محیط توسعه یا CI/CD را فراهم میکند و تمام فرآیند نصب نرمافزارها را خودکار و قابل تکرار میکند.
با تسلط بر Chocolatey و Winget داخل PowerShell، میتوان به راحتی محیط توسعه یا سرور را بدون دخالت دستی آماده و مدیریت کرد.