.\" SPDX-License-Identifier: Apache-2.0 .\" SPDX-FileCopyrightText: 2021 The Elixir Team .\" SPDX-FileCopyrightText: 2012 Plataformatec .Dd May 27, 2015 .Dt MIX 1 .Os .Sh "نام (NAME)" .Nm mix .Nd ابزار مدیریت پروژه‌های نرم‌افزاری .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Ar TASK .Op Ar project_name .Nm elixir .Op Ar OPTIONS .Fl S Nm .Op Ar TASK .Op Ar project_name .Sh "توضیحات (DESCRIPTION)" .Nm هم برای سازمان‌دهی کدها در قالب پروژه‌ها و هم برای نگهداری آن‌ها در نظر گرفته شده است. برای مورد دوم، این ابزار امکانات پیشرفته‌ای مانند مدیریت وابستگی‌ها، بسته‌بندی، آماده‌سازی مستندات، آزمون و موارد دیگر را ارائه می‌دهد. .Pp به بخش .Sy "خلاصه دستور (SYNOPSIS)" و شیوه دوم اجرای .Nm که در آن ارائه شده است دقت کنید. نکته اینجاست که این ابزار چیزی جز یک اسکریپت الیکسیر نیست؛ بنابراین می‌توان آن را از طریق .Xr elixir 1 دقیقاً مانند هر اسکریپت دیگری فراخوانی کرد. این ویژگی زمانی مفید است که بخواهید .Nm را با گزینه‌های خاصی اجرا کنید. .Sh "تعاریف (DEFINITIONS)" تمام قابلیت‌های .Nm توسط مجموعه‌ای از تسک‌ها (وظایف) ارائه می‌شوند. یک .Em تسک (task) بخشی از کد نوشته‌شده به الیکسیر است که برای حل یک مسئله خاص طراحی شده است. همانند برنامه‌ها، بسیاری از تسک‌ها پارامترهای ورودی می‌پذیرند یا از گزینه‌هایی پشتیبانی می‌کنند که رفتار آن‌ها را اندکی تغییر می‌دهد، اما برخی دیگر این‌گونه نیستند. دو دسته تسک وجود دارد: آن‌هایی که پس از نصب یک آرشیو خاص در دسترس قرار می‌گیرند .Pq تسک‌های محلی و آن‌هایی که توسط .Nm ارائه می‌شوند .Pq تسک‌های توکار . تسک .Sy run در صورتی که هیچ تسک دیگری تعیین نشده باشد به صورت پیش‌فرض اجرا می‌شود. .Pp علیرغم اینکه بخش عمده .Nm را تسک‌ها تشکیل می‌دهند، این صفحه راهنما اطلاعات کمکی مربوط به هر یک از آن‌ها را در خود ندارد زیرا .Nm خودتوصیف است. از این رو با استفاده از تسک .Sy help می‌توانید هم فهرست کامل تسک‌های محلی و توکار و هم اطلاعات مربوط به یک تسک خاص را دریافت کنید. .Pp یک .Em آرشیو (archive) ، در اصطلاح Erlang/OTP، فایل فشرده‌ای با پسوند .Em .ez است که شامل یک برنامه کاربردی OTP از پیش کامپایل‌شده به همراه تمام وابستگی‌های آن است\~[1]. .Pp یک .Em برنامه کاربردی (application) موجودیتی است که به ترکیب مجموعه‌ای از مؤلفه‌ها در یک واحد مجزا کمک می‌کند تا استفاده مجدد از آن‌ها در سایر سیستم‌ها تسهیل شود\~[2]. .Sh "محیط (ENVIRONMENT)" .Bl -tag -width Ds .It Ev MIX_ARCHIVES امکان تعیین دایرکتوری مورد نظری که آرشیوها باید در آن نصب شوند را فراهم می‌سازد .Pq دستور Sy "mix help archive.install" No را ببینید . دایرکتوری .Em ~/.mix/archives به صورت پیش‌فرض برای این منظور استفاده می‌شود. .It Ev MIX_DEBUG در صورت تنظیم، اطلاعات اشکال‌زدایی (دیباگ) مربوط به هر تسک را پیش از اجرای آن نمایش می‌دهد. .It Ev MIX_ENV امکان مشخص کردن محیط مورد استفاده را فراهم می‌آورد. در صورت عدم تعیین، محیط .Em dev به صورت پیش‌فرض به کار گرفته می‌شود. .Pp گاهی اوقات لازم است هنگام کامپایل یا اجرای یک پروژه .Pq یا در موارد دیگر از مجموعه خاصی از مقادیر پارامترهای پیکربندی استفاده کنید یا مراحل مشخصی را به انجام برسانید. محیط‌های .Nm امکان گروه‌بندی مقادیر پارامترهای پیکربندی و مراحل را فراهم می‌کنند تا با تعیین محیط لازم از طریق MIX_ENV بتوان بین آن‌ها جابه‌جا شد. .It Ev MIX_TARGET امکان تعیین هدف مورد استفاده را فراهم می‌آورد. هدف .Em host در صورت عدم تعیین هر گزینه دیگر، به عنوان پیش‌فرض به کار گرفته می‌شود. .It Ev MIX_EXS امکان تغییر مسیر کامل فایل .Em mix.exs را مهیا می‌کند .Pq بخش Sy "فایل‌ها (FILES)" No را ببینید . واضح‌ترین کاربرد آن داشتن بیش از یک نسخه از .Em mix.exs در پروژه است، اما شایان ذکر است که از MIX_EXS تنها در صورتی باید استفاده کرد که محیط‌های .Nm .Pq موارد بالا را ببینید برای حل مسئله کافی نباشند. .It Ev MIX_HOME مسیر دایرکتوری خانگی Mix که فایل‌های پیکربندی و اسکریپت‌های مورداستفاده Mix را ذخیره می‌کند. .It MIX_INSTALL_DIR دایرکتوری محل نگهداری کش نصب‌های Mix.install/2 را مشخص می‌کند. .It MIX_INSTALL_FORCE تابع Mix.install/2 را با کش نصب خالی اجرا می‌کند. .It Ev MIX_PATH امکان گسترش مسیر کد (code path) را فراهم می‌آورد. اگر متغیر محیطی MIX_PATH دارای مقداری متشکل از چندین مسیر باشد، این مسیرها باید با دو‌نقطه (colon) .Pq برای سیستم‌عامل‌های شبه‌یونیکس یا نقطه ویرگول (semicolon) .Pq برای ویندوز از یکدیگر تفکیک شوند. .Pp همان‌طور که در بالا ذکر شد، دو نوع تسک وجود دارد: محلی و توکار. این تسک‌ها همیشه برای .Nm قابل مشاهده هستند چرا که دایرکتوری‌های حاوی آن‌ها بخشی از مسیر کد محسوب می‌شوند. اگر تسکی متعلق به هیچ‌یک از این دو دسته نباشد، MIX_PATH به شما کمک می‌کند تا به .Nm بگویید در کجا باید به دنبال آن تسک بگردد. .It Ev MIX_QUIET در صورت تنظیم، از چاپ پیام‌های اطلاعاتی در ترمینال جلوگیری می‌کند. .El .Sh "فایل‌ها (FILES)" .Bl -tag -width Ds .It mix.exs حاوی مهم‌ترین اطلاعات مرتبط با پروژه مانند نام، نسخه، فهرست وابستگی‌ها و موارد دیگر است. به طور معمول این فایل .Em mix.exs نامیده می‌شود و در ریشه درخت سورس پروژه قرار دارد، اما می‌توان با استفاده از متغیر محیطی MIX_EXS مسیر کامل آن را تغییر داد .Pq بخش Sy "محیط (ENVIRONMENT)" No را ببینید . .It mix.lock امکان تثبیت وابستگی‌های پروژه را با محدوده نسخه مناسب قبل از هرگونه به‌روزرسانی فراهم می‌سازد. این مورد زمانی کاربرد دارد که می‌دانید پروژه شما با نسخه‌های جدیدتر برخی وابستگی‌ها ناسازگار است. این فایل همانند .Em mix.exs در ریشه درخت سورس پروژه قرار می‌گیرد .Pq بخش بالا را ببینید . .El .Sh "منابع (REFERENCES)" .Bl -tag -width Ds .It [1] https://www.erlang.org/doc/man/code.html#id103620 .It [2] https://www.erlang.org/doc/design_principles/applications.html .El .Sh "همچنین ببینید (SEE ALSO)" .Xr elixir 1 , .Xr elixirc 1 , .Xr iex 1 .Sh "نویسندگان (AUTHORS)" .Bl -tag -width Ds .It Elixir توسط The Elixir Team نگهداری می‌شود. .It این صفحه راهنما توسط Evgeny Golyshev ایجاد شده است. .It Copyright (c) 2012 Plataformatec. .It Copyright (c) 2021 The Elixir Team. .El .Sh "منابع اینترنتی (INTERNET RESOURCES)" .Bl -tag -width Ds .It وب‌سایت اصلی: https://elixir-lang.org .It مستندات: https://elixir-lang.org/docs.html .It مدیر بسته: https://hex.pm .El