پاورشل برای برنامه‌نویسان

پاورشل برای برنامه‌نویسان

@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، می‌توان به راحتی محیط توسعه یا سرور را بدون دخالت دستی آماده و مدیریت کرد.

Report Page