MIX(1) General Commands Manual MIX(1)

mix — ابزار مدیریت پروژه‌های نرم‌افزاری

mix [TASK] [project_name] elixir [OPTIONS] -S mix [TASK] [project_name]

mix هم برای سازمان‌دهی کدها در قالب پروژه‌ها و هم برای نگهداری آن‌ها در نظر گرفته شده است. برای مورد دوم، این ابزار امکانات پیشرفته‌ای مانند مدیریت وابستگی‌ها، بسته‌بندی، آماده‌سازی مستندات، آزمون و موارد دیگر را ارائه می‌دهد.

به بخش خلاصه دستور (SYNOPSIS) و شیوه دوم اجرای mix که در آن ارائه شده است دقت کنید. نکته اینجاست که این ابزار چیزی جز یک اسکریپت الیکسیر نیست؛ بنابراین می‌توان آن را از طریق elixir(1) دقیقاً مانند هر اسکریپت دیگری فراخوانی کرد. این ویژگی زمانی مفید است که بخواهید mix را با گزینه‌های خاصی اجرا کنید.

تمام قابلیت‌های mix توسط مجموعه‌ای از تسک‌ها (وظایف) ارائه می‌شوند. یک تسک (task) بخشی از کد نوشته‌شده به الیکسیر است که برای حل یک مسئله خاص طراحی شده است. همانند برنامه‌ها، بسیاری از تسک‌ها پارامترهای ورودی می‌پذیرند یا از گزینه‌هایی پشتیبانی می‌کنند که رفتار آن‌ها را اندکی تغییر می‌دهد، اما برخی دیگر این‌گونه نیستند. دو دسته تسک وجود دارد: آن‌هایی که پس از نصب یک آرشیو خاص در دسترس قرار می‌گیرند (تسک‌های محلی) و آن‌هایی که توسط mix ارائه می‌شوند (تسک‌های توکار). تسک در صورتی که هیچ تسک دیگری تعیین نشده باشد به صورت پیش‌فرض اجرا می‌شود.

علیرغم اینکه بخش عمده mix را تسک‌ها تشکیل می‌دهند، این صفحه راهنما اطلاعات کمکی مربوط به هر یک از آن‌ها را در خود ندارد زیرا mix خودتوصیف است. از این رو با استفاده از تسک می‌توانید هم فهرست کامل تسک‌های محلی و توکار و هم اطلاعات مربوط به یک تسک خاص را دریافت کنید.

یک آرشیو (archive) ، در اصطلاح Erlang/OTP، فایل فشرده‌ای با پسوند است که شامل یک برنامه کاربردی OTP از پیش کامپایل‌شده به همراه تمام وابستگی‌های آن است [1].

یک برنامه کاربردی (application) موجودیتی است که به ترکیب مجموعه‌ای از مؤلفه‌ها در یک واحد مجزا کمک می‌کند تا استفاده مجدد از آن‌ها در سایر سیستم‌ها تسهیل شود [2].

امکان تعیین دایرکتوری مورد نظری که آرشیوها باید در آن نصب شوند را فراهم می‌سازد (دستور را ببینید). دایرکتوری به صورت پیش‌فرض برای این منظور استفاده می‌شود.
در صورت تنظیم، اطلاعات اشکال‌زدایی (دیباگ) مربوط به هر تسک را پیش از اجرای آن نمایش می‌دهد.
امکان مشخص کردن محیط مورد استفاده را فراهم می‌آورد. در صورت عدم تعیین، محیط به صورت پیش‌فرض به کار گرفته می‌شود.

گاهی اوقات لازم است هنگام کامپایل یا اجرای یک پروژه (یا در موارد دیگر) از مجموعه خاصی از مقادیر پارامترهای پیکربندی استفاده کنید یا مراحل مشخصی را به انجام برسانید. محیط‌های mix امکان گروه‌بندی مقادیر پارامترهای پیکربندی و مراحل را فراهم می‌کنند تا با تعیین محیط لازم از طریق MIX_ENV بتوان بین آن‌ها جابه‌جا شد.

امکان تعیین هدف مورد استفاده را فراهم می‌آورد. هدف در صورت عدم تعیین هر گزینه دیگر، به عنوان پیش‌فرض به کار گرفته می‌شود.
امکان تغییر مسیر کامل فایل mix.exs را مهیا می‌کند (بخش فایل‌ها (FILES) را ببینید). واضح‌ترین کاربرد آن داشتن بیش از یک نسخه از mix.exs در پروژه است، اما شایان ذکر است که از MIX_EXS تنها در صورتی باید استفاده کرد که محیط‌های mix (موارد بالا را ببینید) برای حل مسئله کافی نباشند.
مسیر دایرکتوری خانگی Mix که فایل‌های پیکربندی و اسکریپت‌های مورداستفاده Mix را ذخیره می‌کند.
MIX_INSTALL_DIR
دایرکتوری محل نگهداری کش نصب‌های Mix.install/2 را مشخص می‌کند.
MIX_INSTALL_FORCE
تابع Mix.install/2 را با کش نصب خالی اجرا می‌کند.
امکان گسترش مسیر کد (code path) را فراهم می‌آورد. اگر متغیر محیطی MIX_PATH دارای مقداری متشکل از چندین مسیر باشد، این مسیرها باید با دو‌نقطه (colon) (برای سیستم‌عامل‌های شبه‌یونیکس) یا نقطه ویرگول (semicolon) (برای ویندوز) از یکدیگر تفکیک شوند.

همان‌طور که در بالا ذکر شد، دو نوع تسک وجود دارد: محلی و توکار. این تسک‌ها همیشه برای mix قابل مشاهده هستند چرا که دایرکتوری‌های حاوی آن‌ها بخشی از مسیر کد محسوب می‌شوند. اگر تسکی متعلق به هیچ‌یک از این دو دسته نباشد، MIX_PATH به شما کمک می‌کند تا به mix بگویید در کجا باید به دنبال آن تسک بگردد.

در صورت تنظیم، از چاپ پیام‌های اطلاعاتی در ترمینال جلوگیری می‌کند.

mix.exs
حاوی مهم‌ترین اطلاعات مرتبط با پروژه مانند نام، نسخه، فهرست وابستگی‌ها و موارد دیگر است. به طور معمول این فایل mix.exs نامیده می‌شود و در ریشه درخت سورس پروژه قرار دارد، اما می‌توان با استفاده از متغیر محیطی MIX_EXS مسیر کامل آن را تغییر داد (بخش محیط (ENVIRONMENT) را ببینید).
mix.lock
امکان تثبیت وابستگی‌های پروژه را با محدوده نسخه مناسب قبل از هرگونه به‌روزرسانی فراهم می‌سازد. این مورد زمانی کاربرد دارد که می‌دانید پروژه شما با نسخه‌های جدیدتر برخی وابستگی‌ها ناسازگار است. این فایل همانند mix.exs در ریشه درخت سورس پروژه قرار می‌گیرد (بخش بالا را ببینید).

[1] https://www.erlang.org/doc/man/code.html#id103620
 
[2] https://www.erlang.org/doc/design_principles/applications.html
 

elixir(1), elixirc(1), iex(1)

Elixir توسط The Elixir Team نگهداری می‌شود.
 
این صفحه راهنما توسط Evgeny Golyshev ایجاد شده است.
 
Copyright (c) 2012 Plataformatec.
 
Copyright (c) 2021 The Elixir Team.
 

وب‌سایت اصلی: https://elixir-lang.org
 
مستندات: https://elixir-lang.org/docs.html
 
مدیر بسته: https://hex.pm
 
May 27, 2015 Linux 6.12.107+deb13-amd64