lx(1) General Commands Manual lx(1) نام (NAME) lx - مدیر بسته‌ای مجلل و مدرن برای زبان لُوآ (Lua) خلاصه دستور (SYNOPSIS) lx [--dev] [--server] [--extra-servers] [--namespace] [--lua-dir] [--lua-version] [--tree] [--cache-dir] [--data-dir] [--vendor-dir] [--variables] [--profile] [--verbose] [--no-progress] [--no-prompt] [--nvim] [--no-tfa] [--timeout] [--max-jobs] [--no-luarc] [--no-wrap-bin] [--user-agent] [-h|--help] [-V|--version] توضیحات (DESCRIPTION) یک مدیر بسته مجلل و مدرن برای زبان لُوآ (Lua). گزینه‌ها (OPTIONS) --dev فعال‌سازی مخازن فرعی در سرورهای luarocks برای مشخصات بسته‌های (rockspecs) نسخه‌های در حال توسعه. --server دریافت بسته‌ها (rocks) یا مشخصات بسته‌ها (rockspecs) از این سرور (دارای اولویت بالاتر نسبت به فایل پیکربندی). --extra-servers دریافت بسته‌ها یا مشخصات بسته‌ها از این سرورها علاوه بر سرور اصلی (تنظیمات موجود در فایل پیکربندی را نادیده می‌گیرد). --namespace تعیین فضای‌نام (namespace) سرور luarocks برای استفاده. --lua-dir تعیین دایرکتوری مورد نظر برای نصب Lua در صورتی که یافت نشود. --lua-version تعیین اینکه از کدام نسخه نصب‌شده Lua استفاده شود. نسخه‌های معتبر عبارتند از: '5.1'، '5.2'، '5.3'، '5.4'، '5.5'، 'jit' و 'jit52'. اگر تنظیم نشده باشد، Lux تلاش می‌کند نسخه Lua را شناسایی کند: • از پروژه جاری، در صورتی که نیازمندی دقیق نسخه Lua در آن مشخص شده باشد. • از نسخه نصب‌شده Lua که در متغیر محیطی PATH در دسترس است. --tree مشخص کردن درختی که عملیات روی آن انجام می‌شود. در یک فضای کاری (workspace)، می‌توان از این گزینه برای مشخص کردن یک درخت فضای کاری مستقل (detached) استفاده کرد. --cache-dir مشخص کردن دایرکتوری حافظه موقت (کَش)، برای مثال برای مانیفست‌های luarocks. --data-dir مشخص کردن دایرکتوری داده، که درخت نصب پیش‌فرض کاربر در آن قرار دارد (مانند ‎~/.local/share/lux). --vendor-dir مشخص کردن دایرکتوری حاوی سورس‌کدها و RockSpecهای محلی مستقل (vendored). هنگام ساخت یا نصب یک بسته با این فلگ، Lux منابع را به جای سرور راه دور، از دریافت خواهد کرد. --variables بازنویسی متغیرهای پیکربندی. مثال: lx -v LUA=/path/to/lua ... --profile پروفایل ساخت مورد استفاده هنگام کامپایل بسته‌ها. پیش‌فرض: release مقادیر ممکن: • release • dev --verbose نمایش خروجی پرجزئیات از دستورات اجرا شده و فعال‌سازی لاگ‌های DEBUG. برای فعال‌سازی لاگ‌های TRACE، متغیر محیطی RUST_LOG=trace را تنظیم کنید. --no-progress عدم چاپ نوارهای پیشرفت یا نشانگرهای چرخان (spinners). --no-prompt رد کردن اعلان‌ها و انتخاب گزینه پیش‌فرض. نمایش اعلان‌ها به‌طور پیش‌فرض در محیط‌های ترمینال/TTY فعال است. مقادیر ممکن: • true • false --nvim پیکربندی lux برای نصب بسته‌های نئوویما (Neovim). --no-tfa غیرفعال کردن اعلان‌های کد احراز هویت دومرحله‌ای (2FA). اکیداً توصیه می‌شود به جای آن 2FA را فعال کنید؛ ببینید: https://luarocks.org/settings/two-factor-auth --timeout مدت‌زمان انتظار برای عملیات‌های شبکه، بر حسب ثانیه. مقدار 0 به معنای عدم وجود محدودیت زمانی است (انتظار نامحدود). مقدار پیش‌فرض 30 است. --max-jobs حداکثر اندازه بافر برای کارهای موازی، مانند دانلود rockspecها و نصب بسته‌ها. مقدار 0 به معنای نامحدود است. مقدار پیش‌فرض 0 است. --no-luarc عدم تولید یا به‌روزرسانی فایل .luarc.json هنگام ساخت یک پروژه. --no-wrap-bin پوشش‌بندی نکردن (عدم wrap) اسکریپت‌های اجرایی bin در Lua. --user-agent رشته عامل کاربر (User Agent) تنظیمی هنگام ارسال درخواست‌های وب. پیش‌فرض "lux/" است. -h, --help چاپ پیام راهنما -V, --version چاپ نسخه برنامه زیردستورها (SUBCOMMANDS) lux-cli-add(1) افزودن یک وابستگی به پروژه جاری lux-cli-build(1) ساخت/کامپایل یک پروژه lux-cli-check(1) [آزمایشی] بررسی نوع داده‌ها (Type check) در پروژه جاری بر اساس حاشیه‌نویسی‌های EmmyLua/LuaCATS. از فایل‌های .emmyrc.json و .luarc.json در دایرکتوری پروژه پیروی می‌کند. lux-cli-config(1) تعامل با پیکربندی lux lux-cli-debug(1) دستورات داخلی برای اشکال‌زدایی خود ابزار Lux lux-cli-dist(1) آماده‌سازی پروژه Lux برای توزیع lux-cli-doc(1) نمایش مستندات مربوط به یک بسته (rock) نصب‌شده lux-cli-download(1) دانلود یک فایل بسته (rock) خاص از سرور luarocks lux-cli-fmt(1) فرمت‌بندی کدهای پروژه با استفاده از stylua lux-cli-generate-rockspec(1) تولید یک فایل rockspec از روی یک پروژه lux-cli-info(1) نمایش متادیتا برای هر بسته (rock) lux-cli-install(1) نصب یک بسته (rock) برای استفاده در سیستم lux-cli-install-rockspec(1) نصب یک rockspec محلی برای استفاده در سیستم lux-cli-install-lua(1) نصب دستی و مدیریت هدرهای Lua برای نسخه‌های مختلف Lua lux-cli-lint(1) بررسی خطاهای ساختاری (Lint) در پروژه جاری با استفاده از luacheck lux-cli-list(1) فهرست کردن بسته‌های (rocks) نصب‌شده فعلی lux-cli-lua(1) اجرای lua با تنظیم متغیرهای LUA_PATH و LUA_CPATH بر روی درخت lux مشخص‌شده lux-cli-new(1) ایجاد یک پروژه جدید Lua lux-cli-outdated(1) فهرست کردن بسته‌های قدیمی lux-cli-pack(1) ایجاد یک بسته فشرده (packed rock) برای توزیع، با بسته‌بندی سورس‌کدها یا فایل‌های باینری lux-cli-path(1) بازگرداندن مسیر بسته‌های پیکربندی‌شده فعلی lux-cli-pin(1) سنجاق کردن یک بسته موجود، جهت جلوگیری از هرگونه به‌روزرسانی آن بسته lux-cli-purge(1) حذف تمام بسته‌های نصب‌شده از یک درخت lux-cli-remove(1) حذف یک بسته از وابستگی‌های lux.toml در پروژه جاری lux-cli-run(1) اجرای پروژه جاری با آرگومان‌های ارائه‌شده lux-cli-exec(1) اجرای دستوری که توسط lux نصب شده است. اگر دستور پیدا نشود، بسته‌ای هم‌نام با آن دستور نصب خواهد شد. lux-cli-search(1) جستجو در سرورهای luarocks lux-cli-test(1) اجرای مجموعه آزمون‌ها در دایرکتوری پروژه جاری. ابزار Lux از باطن‌های آزمون (test backends) زیر که در جدول [test] فایل lux.toml تعیین می‌شوند، پشتیبانی می‌کند: - busted: https://lunarmodules.github.io/busted مثال: [test] type = "busted" flags = [ ] # گزینه‌های خط فرمان اختیاری برای ارسال به busted در صورتی که باطن آزمون تعیین نشده باشد، دستور lx test به‌طور پیش‌فرض از busted استفاده خواهد کرد اگر: • فایل .busted در ریشه پروژه وجود داشته باشد، • یا busted یکی از وابستگی‌های آزمون (test_dependencies) باشد. - busted-nlua: [در حال حاضر در ویندوز دارای ایراد است] یک باطن ساخت برای اجرای آزمون‌های busted با استفاده از نئوویما (Neovim) به عنوان مفسر Lua. برای آزمودن افزونه‌های نئوویما استفاده می‌شود. مثال: [test] type = "busted-nlua" flags = [ ] # گزینه‌های خط فرمان اختیاری برای ارسال به busted در صورتی که باطن آزمون تعیین نشده باشد، دستور lx test به‌طور پیش‌فرض از busted-nlua استفاده خواهد کرد اگر: • فایل .busted در ریشه پروژه وجود داشته باشد، • یا busted و nlua جزو وابستگی‌های آزمون (test_dependencies) باشند. - command: نام یا مسیر فایل دستور شل که مجموعه آزمون را اجرا خواهد کرد. مثال: [test] type = "command" command = "make" flags = [ "test" ] - script: مسیر نسبی به اسکریپت Lua که مجموعه آزمون را اجرا خواهد کرد. مثال: [test] type = "script" script = "tests.lua" # انتظار وجود فایل tests.lua در ریشه پروژه را دارد flags = [ ] # آرگومان‌های اختیاری ارسالی به اسکریپت آزمون lux-cli-uninstall(1) حذف یک بسته از سیستم lux-cli-unpin(1) برداشتن سنجاق از یک بسته موجود، که اجازه به‌روزرسانی بسته را می‌دهد lux-cli-update(1) به‌روزرسانی تمامی بسته‌های یک پروژه lux-cli-upload(1) تولید یک rockspec برای پروژه Lux و آپلود آن به مخزن عمومی luarocks. می‌توانید یک الگوی منبع (source template) برای بسته‌های انتشار (release) و توسعه (dev) در فایل lux.toml تعیین کنید. مثال: [source] url = "https://host.com/owner/$(PACKAGE)/refs/tags/$(REF).zip" dev = "git+https://host.com/owner/$(PACKAGE).git" می‌توانید از متغیرهای زیر در الگوی منبع استفاده کنید: • $(PACKAGE): نام بسته. • $(VERSION): نسخه بسته. • $(REF): برچسب (tag) یا بازنگری git (اگر در یک مخزن git باشد). • همچنین می‌توانید متغیرهای محیطی را با $() تعیین کنید. اگر مقدار version در فایل lux.toml تنظیم نشده باشد، lux کامیت جاری را برای برچسب‌های SemVer جستجو کرده و در صورت یافتن، از آن برای تولید نسخه بسته استفاده می‌کند. lux-cli-util(1) دستورات کم‌کاربرد مانند تولید فایل‌های تکمیل خودکار دستورات شل و صفحات راهنما lux-cli-vendor(1) قرار دادن وابستگی‌های یک پروژه یا RockSpec به‌طور محلی و مستقل (Vendor کردن). هنگام ساخت یا نصب یک بسته با گزینه --vendor-dir یا گزینه پیکربندی [vendor_dir]، ابزار Lux سورس‌ها را به جای سرور راه دور، از دریافت خواهد کرد. lux-cli-which(1) مشخص کردن اینکه کدام فایل با نام ماژول داده‌شده مطابقت دارد lux-cli-shell(1) اجرای یک شل تعاملی با متغیرهای محیطی تنظیم‌شده PATH، LUA_PATH، LUA_CPATH و LUA_INIT lux-cli-sync(1) همگام‌سازی درخت پروژه با lux.toml فعلی، جهت اطمینان از نصب صحیح تمامی بسته‌ها lux-cli-help(1) چاپ این پیام یا راهنمای زیردستور(های) داده‌شده نسخه (VERSION) v0.43.5 نویسندگان (AUTHORS) vhyrro , mrcjkb lux-cli 0.43.5 lx(1)