راهاندازی Windows و WSL
Meridian از یک ترمینال شبیه Unix اجرا میشود. در Windows از Windows Subsystem for Linux (WSL) استفاده کنید و Meridian را داخل محیط Linux اجرا کنید.
PowerShell، Command Prompt، Git Bash و Cygwin بومی مسیر پیشنهادی برای Meridian نیستند. WSL همان رفتار shell، SSH و filesystem را مثل Linux به شما میدهد و با بقیه مستندات هماهنگ است.
نصب WSL
Section titled “نصب WSL”PowerShell را به صورت Administrator باز کنید و WSL را نصب کنید:
wsl --installاگر درخواست شد سیستم را restart کنید، سپس توزیع Linux نصبشده را از Start menu باز کنید.
Ubuntu امنترین پیشفرض است، چون Meridian سرورهای Debian و Ubuntu را هدف میگیرد و بیشتر مثالها از نام پکیجهای apt استفاده میکنند. اگر Debian را از قبل در WSL نصب کردهاید، آن هم کار میکند.
بررسی کنید که WSL از نسخه 2 استفاده میکند:
wsl --list --verboseاگر توزیع شما نسخه 1 را نشان میدهد، آن را تبدیل کنید:
wsl --set-version Ubuntu 2آمادهسازی shell در WSL
Section titled “آمادهسازی shell در WSL”داخل ترمینال WSL، پکیجها را بهروز کنید و ابزارهای پایه را نصب کنید:
sudo apt updatesudo apt install -y curl openssh-client ca-certificatesMeridian را نصب کنید:
curl -sSf https://getmeridian.org/install.sh | bashاگر meridian بلافاصله پیدا نشد، ترمینال WSL را restart کنید یا profile شل را دوباره بارگذاری کنید:
exec "$SHELL" -lنصب را بررسی کنید:
meridian --versionتنظیم کلیدهای SSH
Section titled “تنظیم کلیدهای SSH”Meridian از WSL با SSH به VPS شما وصل میشود. کلید را داخل WSL بسازید:
ssh-keygen -t ed25519 -C "meridian-wsl"کلید عمومی را کپی کنید:
cat ~/.ssh/id_ed25519.pubاین کلید عمومی را به پنل ارائهدهنده VPS یا به ~/.ssh/authorized_keys کاربر سرور اضافه کنید.
قبل از اجرای Meridian، SSH را تست کنید:
ssh root@198.51.100.10اگر VPS شما از کاربر غیر root استفاده میکند، همان کاربر را تست کنید و آن را به deploy بدهید:
meridian deploy 198.51.100.10 --user ubuntuاستفاده از SSH agent
Section titled “استفاده از SSH agent”اگر کلید شما passphrase دارد، یک agent داخل WSL شروع کنید:
eval "$(ssh-agent -s)"ssh-add ~/.ssh/id_ed25519این دستورها را فقط وقتی به ~/.profile یا ~/.bashrc اضافه کنید که tradeoff امنیتی آن را میفهمید. برای بیشتر استقرارهای اول، شروع دستی agent کافی است.
در شروع کار، SSH agentهای Windows و WSL را با هم مخلوط نکنید. تا وقتی deploy کار کند، کلید و agent را داخل WSL نگه دارید.
اجرای Meridian از WSL
Section titled “اجرای Meridian از WSL”فرایند عادی deploy را از ترمینال WSL اجرا کنید:
meridian deployیا IP سرور را مستقیم بدهید:
meridian deploy 198.51.100.10Meridian اطلاعات ورود را زیر ~/.config/meridian/ داخل WSL ذخیره میکند. دستورهای بعدی را از همان توزیع WSL اجرا کنید تا بتواند اطلاعات ذخیرهشده سرور را پیدا کند:
meridian client add alicemeridian client listmeridian test 198.51.100.10VS Code Remote WSL
Section titled “VS Code Remote WSL”اگر از VS Code استفاده میکنید، افزونه “WSL” را نصب کنید و workspace مربوط به Meridian را از WSL باز کنید:
code .فایلهایی که با Remote WSL ویرایش میشوند در filesystem لینوکس قرار دارند و این کار از مشکل path و permission جلوگیری میکند. مسیری زیر home در WSL مثل ~/projects را ترجیح دهید و state مربوط به Meridian یا کلیدهای SSH را از مسیر /mnt/c/ ویرایش نکنید.
مشکلات رایج
Section titled “مشکلات رایج”wizard انگار یک prompt را رد میکند
Section titled “wizard انگار یک prompt را رد میکند”برخی promptهای تعاملی ترمینال میتوانند زیر WSL متفاوت رفتار کنند. اگر wizard مربوط به deploy ورودی را طبق انتظار قبول نمیکند، مقدارها را صریح بدهید:
meridian deploy 198.51.100.10 --sni www.cloudflare.comهمچنین میتوانید اول سرور را بررسی کنید:
meridian check 198.51.100.10خطای Permission denied در SSH
Section titled “خطای Permission denied در SSH”مطمئن شوید کلید داخل WSL وجود دارد، نه فقط در Windows:
ls -la ~/.sshssh -v root@198.51.100.10کلید خصوصی باید فقط توسط کاربر WSL شما خواندنی باشد:
chmod 700 ~/.sshchmod 600 ~/.ssh/id_ed25519Meridian نصب شده اما command پیدا نمیشود
Section titled “Meridian نصب شده اما command پیدا نمیشود”شل را دوباره بارگذاری کنید:
exec "$SHELL" -lاگر هنوز پیدا نشد، مسیرهای رایج uv و binaryهای محلی را بررسی کنید:
ls ~/.local/binدر صورت نیاز ~/.local/bin را به profile شل اضافه کنید:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcexec "$SHELL" -lمسیرهای Windows مشکل permission ایجاد میکنند
Section titled “مسیرهای Windows مشکل permission ایجاد میکنند”کلیدهای SSH، اطلاعات Meridian و فایلهای پروژه را در filesystem مربوط به WSL نگه دارید:
cd ~mkdir -p projectsاز نگهداری ~/.ssh یا ~/.config/meridian زیر /mnt/c/ خودداری کنید. مسیرهای mount شده از Windows میتوانند permissionهای متفاوتی داشته باشند و SSH آنها را رد کند.
