MIX(1) General Commands Manual MIX(1) نام (NAME) mix – ابزار مدیریت پروژه‌های نرم‌افزاری خلاصه دستور (SYNOPSIS) mix [TASK] [project_name] elixir [OPTIONS] -S mix [TASK] [project_name] توضیحات (DESCRIPTION) mix هم برای سازمان‌دهی کدها در قالب پروژه‌ها و هم برای نگهداری آن‌ها در نظر گرفته شده است. برای مورد دوم، این ابزار امکانات پیشرفته‌ای مانند مدیریت وابستگی‌ها، بسته‌بندی، آماده‌سازی مستندات، آزمون و موارد دیگر را ارائه می‌دهد. به بخش خلاصه دستور (SYNOPSIS) و شیوه دوم اجرای mix که در آن ارائه شده است دقت کنید. نکته اینجاست که این ابزار چیزی جز یک اسکریپت الیکسیر نیست؛ بنابراین می‌توان آن را از طریق elixir(1) دقیقاً مانند هر اسکریپت دیگری فراخوانی کرد. این ویژگی زمانی مفید است که بخواهید mix را با گزینه‌های خاصی اجرا کنید. تعاریف (DEFINITIONS) تمام قابلیت‌های mix توسط مجموعه‌ای از تسک‌ها (وظایف) ارائه می‌شوند. یک تسک (task) بخشی از کد نوشته‌شده به الیکسیر است که برای حل یک مسئله خاص طراحی شده است. همانند برنامه‌ها، بسیاری از تسک‌ها پارامترهای ورودی می‌پذیرند یا از گزینه‌هایی پشتیبانی می‌کنند که رفتار آن‌ها را اندکی تغییر می‌دهد، اما برخی دیگر این‌گونه نیستند. دو دسته تسک وجود دارد: آن‌هایی که پس از نصب یک آرشیو خاص در دسترس قرار می‌گیرند (تسک‌های محلی) و آن‌هایی که توسط mix ارائه می‌شوند (تسک‌های توکار). تسک run در صورتی که هیچ تسک دیگری تعیین نشده باشد به صورت پیش‌فرض اجرا می‌شود. علیرغم اینکه بخش عمده mix را تسک‌ها تشکیل می‌دهند، این صفحه راهنما اطلاعات کمکی مربوط به هر یک از آن‌ها را در خود ندارد زیرا mix خودتوصیف است. از این رو با استفاده از تسک help می‌توانید هم فهرست کامل تسک‌های محلی و توکار و هم اطلاعات مربوط به یک تسک خاص را دریافت کنید. یک آرشیو (archive) ، در اصطلاح Erlang/OTP، فایل فشرده‌ای با پسوند .ez است که شامل یک برنامه کاربردی OTP از پیش کامپایل‌شده به همراه تمام وابستگی‌های آن است [1]. یک برنامه کاربردی (application) موجودیتی است که به ترکیب مجموعه‌ای از مؤلفه‌ها در یک واحد مجزا کمک می‌کند تا استفاده مجدد از آن‌ها در سایر سیستم‌ها تسهیل شود [2]. محیط (ENVIRONMENT) MIX_ARCHIVES امکان تعیین دایرکتوری مورد نظری که آرشیوها باید در آن نصب شوند را فراهم می‌سازد (دستور mix help archive.install را ببینید). دایرکتوری ~/.mix/archives به صورت پیش‌فرض برای این منظور استفاده می‌شود. MIX_DEBUG در صورت تنظیم، اطلاعات اشکال‌زدایی (دیباگ) مربوط به هر تسک را پیش از اجرای آن نمایش می‌دهد. MIX_ENV امکان مشخص کردن محیط مورد استفاده را فراهم می‌آورد. در صورت عدم تعیین، محیط dev به صورت پیش‌فرض به کار گرفته می‌شود. گاهی اوقات لازم است هنگام کامپایل یا اجرای یک پروژه (یا در موارد دیگر) از مجموعه خاصی از مقادیر پارامترهای پیکربندی استفاده کنید یا مراحل مشخصی را به انجام برسانید. محیط‌های mix امکان گروه‌بندی مقادیر پارامترهای پیکربندی و مراحل را فراهم می‌کنند تا با تعیین محیط لازم از طریق MIX_ENV بتوان بین آن‌ها جابه‌جا شد. MIX_TARGET امکان تعیین هدف مورد استفاده را فراهم می‌آورد. هدف host در صورت عدم تعیین هر گزینه دیگر، به عنوان پیش‌فرض به کار گرفته می‌شود. MIX_EXS امکان تغییر مسیر کامل فایل mix.exs را مهیا می‌کند (بخش فایل‌ها (FILES) را ببینید). واضح‌ترین کاربرد آن داشتن بیش از یک نسخه از mix.exs در پروژه است، اما شایان ذکر است که از MIX_EXS تنها در صورتی باید استفاده کرد که محیط‌های mix (موارد بالا را ببینید) برای حل مسئله کافی نباشند. MIX_HOME مسیر دایرکتوری خانگی Mix که فایل‌های پیکربندی و اسکریپت‌های مورداستفاده Mix را ذخیره می‌کند. MIX_INSTALL_DIR دایرکتوری محل نگهداری کش نصب‌های Mix.install/2 را مشخص می‌کند. MIX_INSTALL_FORCE تابع Mix.install/2 را با کش نصب خالی اجرا می‌کند. MIX_PATH امکان گسترش مسیر کد (code path) را فراهم می‌آورد. اگر متغیر محیطی MIX_PATH دارای مقداری متشکل از چندین مسیر باشد، این مسیرها باید با دو‌نقطه (colon) (برای سیستم‌عامل‌های شبه‌یونیکس) یا نقطه ویرگول (semicolon) (برای ویندوز) از یکدیگر تفکیک شوند. همان‌طور که در بالا ذکر شد، دو نوع تسک وجود دارد: محلی و توکار. این تسک‌ها همیشه برای mix قابل مشاهده هستند چرا که دایرکتوری‌های حاوی آن‌ها بخشی از مسیر کد محسوب می‌شوند. اگر تسکی متعلق به هیچ‌یک از این دو دسته نباشد، MIX_PATH به شما کمک می‌کند تا به mix بگویید در کجا باید به دنبال آن تسک بگردد. MIX_QUIET در صورت تنظیم، از چاپ پیام‌های اطلاعاتی در ترمینال جلوگیری می‌کند. فایل‌ها (FILES) mix.exs حاوی مهم‌ترین اطلاعات مرتبط با پروژه مانند نام، نسخه، فهرست وابستگی‌ها و موارد دیگر است. به طور معمول این فایل mix.exs نامیده می‌شود و در ریشه درخت سورس پروژه قرار دارد، اما می‌توان با استفاده از متغیر محیطی MIX_EXS مسیر کامل آن را تغییر داد (بخش محیط (ENVIRONMENT) را ببینید). mix.lock امکان تثبیت وابستگی‌های پروژه را با محدوده نسخه مناسب قبل از هرگونه به‌روزرسانی فراهم می‌سازد. این مورد زمانی کاربرد دارد که می‌دانید پروژه شما با نسخه‌های جدیدتر برخی وابستگی‌ها ناسازگار است. این فایل همانند mix.exs در ریشه درخت سورس پروژه قرار می‌گیرد (بخش بالا را ببینید). منابع (REFERENCES) [1] https://www.erlang.org/doc/man/code.html#id103620 [2] https://www.erlang.org/doc/design_principles/applications.html همچنین ببینید (SEE ALSO) elixir(1), elixirc(1), iex(1) نویسندگان (AUTHORS) Elixir توسط The Elixir Team نگهداری می‌شود. این صفحه راهنما توسط Evgeny Golyshev ایجاد شده است. Copyright (c) 2012 Plataformatec. Copyright (c) 2021 The Elixir Team. منابع اینترنتی (INTERNET RESOURCES) وب‌سایت اصلی: https://elixir-lang.org مستندات: https://elixir-lang.org/docs.html مدیر بسته: https://hex.pm Linux 6.12.107+deb13-amd64 May 27, 2015 Linux 6.12.107+deb13-amd64