با نحوه استفاده از Cargo و Crates برای ساده کردن فرآیند کار با بسته های شخص ثالث در Rust آشنا شوید.
بسته های شخص ثالث بخش اساسی توسعه نرم افزار مدرن هستند. بسته های شخص ثالث به صرفه جویی در زمان و افزایش بهره وری کمک می کند زیرا از کدهای از پیش نوشته شده و آزمایش شده مجددا استفاده می کنید.
Rust پشتیبانی عالی را برای کار با بسته های شخص ثالث ارائه می دهد. اکوسیستم Rust خانه بسیاری از بسته های شخص ثالث است که می توانید از آنها برای سرعت بخشیدن به گردش کار توسعه خود استفاده کنید.
با ابزار مدیریت بسته داخلی Rust، Cargo، میتوانید بستههای شخص ثالث را نصب، مدیریت و حذف کنید.
درک ابزار باربری
Cargo یک ابزار مدیریت بسته خط فرمان داخلی در Rust است که هیجانانگیزترین زبان برنامهنویسی جدید است. شبیه به سایر مدیران بسته مانند npm برای Node.js و pip برای Python است که به توسعه دهندگان Rust امکان دانلود، کامپایل و مدیریت وابستگی ها برای بسته های Rust را می دهد. Cargo همچنین قابلیت ساخت و توزیع بسته را فراهم می کند.
علاوه بر این، Cargo مدیر وابستگی Rust، سیستم ساخت، چارچوب تست و ابزار تولید اسناد است.
ابزار Cargo CLI رابط اصلی برای استفاده از Cargo است. پس از نصب Rust می توانید دستور cargo help را اجرا کنید تا قابلیت های مختلفی را که Cargo ارائه می دهد مشاهده کنید.
cargo help
این دستور دستورالعمل های استفاده را برای ابزار Cargo CLI خروجی می دهد.
همچنین، میتوانید دستوری را به عنوان آرگومان به دستور help اضافه کنید تا دستورالعمل استفاده از یک دستور خاص را مشاهده کنید.
cargo help new
دستور help new دستورات استفاده را برای فرمان جدید که مسئول ایجاد پروژه های Rust جدید است را خروجی می دهد.
با استفاده از دستور init، می توانید یک بسته محموله جدید در یک فهرست موجود ایجاد کنید.
cargo init
همچنین، می توانید از دستورات run، build و install برای اجرا، ساخت و نصب برنامه های Rust خود استفاده کنید.
// executes projects immediately
cargo run
// builds projects and outputs executables
cargo build
// installs packages as executables in the /bin directory
cargo install
دستور run بسته را اجرا می کند. دستور build بسته را کامپایل می کند و دستور install یک Rust باینری را نصب می کند.
کار با جعبه ها
جعبهها بخش مهمی از سیستم ماژول Rust هستند که امکان ایجاد کدهای ماژولار و قابل استفاده مجدد را فراهم میکنند. با Cargo و جعبه ها می توانید به راحتی بسته ها را بسازید و منتشر کنید.
یک جعبه به سادگی یک واحد بسته بندی کد است. Crate میتواند یک کتابخانه یا یک فایل اجرایی باشد که شامل تمام کدها، اسناد و ابردادههای لازم برای کامپایلر Rust برای ساخت و اجرای کد باشد.
جعبه جعبه ای است که شامل تمام ابزار و مواد لازم برای تکمیل یک پروژه است. جعبهها مستقل هستند و میتوانید از آنها بهطور مستقل یا همراه با جعبههای دیگر برای ساختن یک برنامه پیچیدهتر استفاده کنید.
Cargo با اتصال به رجیستری مرکزی (crates.io) که جعبههای منبع باز را میزبانی میکند، یافتن و استفاده از جعبههای شخص ثالث برای برنامه شما را آسان میکند.
با دستور جستجوی محموله و به دنبال آن نام جعبه می توانید جعبه ها را جستجو کنید.
cargo search serde
این دستور فهرستی از جعبههایی را که با عبارت جستجو مطابقت دارند، برمیگرداند.
هنگامی که جعبه مورد نیاز خود را پیدا کردید، می توانید جعبه را به وابستگی های خود در فایل Cargo.toml اضافه کنید.
همچنین، می توانید جعبه های خود را در Crates.io از ترمینال خود با Cargo منتشر کنید. شما باید یک حساب کاربری در وب سایت ایجاد کنید و با دستور ورود بار وارد شوید که از شما می خواهد Token API را از وب سایت قرار دهید. سپس می توانید جعبه خود را با دستور انتشار منتشر کنید.
cargo publish
این دستور جعبه شما را در وب سایتی آپلود می کند که سایر توسعه دهندگان Rust می توانند آن را نصب کرده و در پروژه های خود استفاده کنند.
مدیریت وابستگی ها با محموله
مدیریت وابستگی برای اطمینان از بهروزرسانی، ایمن و قابل اعتماد بودن کد شما بسیار مهم است. برای رفع اشکالات، بهبود عملکرد یا افزودن ویژگیهای جدید، باید وابستگیها را بهروزرسانی کنید، در غیر این صورت ممکن است از کتابخانههای قدیمی یا ناامن استفاده کنید که میتواند به پروژه شما آسیب برساند.
مدیریت وابستگی همچنین به شما این امکان را میدهد که نسخههای کتابخانهها را کنترل کنید، از تضاد بین کتابخانهها جلوگیری کنید و با استفاده از عملکرد از پیش ساخته شده، اندازه پایه کد خود را کاهش دهید.
جستجو و نصب بسته های شخص ثالث
Cargo جستجو، نصب و بهروزرسانی کتابخانههای پروژه شما را خودکار میکند و با استفاده از فایل Cargo.toml که تمام وابستگیهای پروژه شما و نسخههای آنها را فهرست میکند، اطمینان میدهد که وابستگیهای شما سازگار و بهروز هستند.
پس از اینکه بسته شخص ثالث را برای برنامه خود با دستور جستجوی محموله پیدا کردید، می توانید بسته را به عنوان یک وابستگی با دستور نصب بار نصب کنید.
cargo install <package_name>
با اجرای دستور، Cargo بسته و وابستگی های آن را دانلود کرده و روی دستگاه شما نصب می کند.
افزودن وابستگی ها به Cargo.toml
میتوانید وابستگیهایی را به فایل Cargo.toml خود اضافه کنید تا با افزودن نام بسته و نسخه به بخش [وابستگیها] فایل Cargo.toml، آنها را نصب کنید.
[dependencies]
package_name = "1.0.0"
در اینجا مثالی از نحوه اضافه کردن بسته محبوب Serde به عنوان یک وابستگی در فایل Cargo.toml خود و در عین حال مشخص کردن نسخه و ویژگی ها آورده شده است.
[dependencies]
serde = { version = "1.0.154", features = ["derive"] }
این مشخص می کند که می خواهید نسخه 1.0.154 بسته Serde را با ویژگی derive نصب کنید.
پس از نصب بسته، می توانید به وارد کردن بسته به فایل های Rust خود ادامه دهید.
use serde::{Serialize, Deserialize};
عبارت import با کلمه کلیدی use ویژگیهای Serialize و Deserialize را به محدوده فعلی میآورد و به شما امکان میدهد از آنها برای اجرای سریالسازی و deserialization برای انواع دادههای Rust خود استفاده کنید.
همچنین می توانید محدوده های نسخه را با نماد caret (^) مشخص کنید.
[dependencies]
serde = { version = "^1.0.154", features = ["derive"] }
عبارت مشخص می کند که می خواهید از نسخه بسته Serde سازگار با نسخه 1.0.154 استفاده کنید.
به روز رسانی وابستگی ها
با دستور update می توانید وابستگی ها را به روز کنید. دستور به روز رسانی به روز رسانی وابستگی ها و دانلودهای شما را بررسی می کند و در صورت وجود آنها را نصب می کند.
cargo update
حذف وابستگی ها
در نهایت، میتوانید با حذف نام و نسخه از بخش وابستگی فایل Cargo.toml خود، بستهای را از پروژه خود حذف کنید یا بستهها را با دستور uninstall حذف کنید.
cargo uninstall <third-party package name here>
دستور بسته را حذف نصب می کند و وابستگی های اضافی را حذف می کند. این برای آزاد کردن فضای دیسک و تمیز نگه داشتن محیط توسعه مفید است. حذف نصب یک بسته، کد یا داده های مرتبط با بسته را از پروژه های Rust شما حذف نمی کند. شما باید این کار را به صورت دستی انجام دهید.
کد زنگ خود را برای کارایی سازماندهی کنید
بستههای شخص ثالث در هنگام ساخت برنامههای پیچیده، بازی را تغییر میدهند، و باورنکردنی است که چگونه میتوانید با بستههای شخص ثالث موجود در رجیستری بستههای Cargo، از صفر به قهرمان سریع بروید.
شما باید کد خود را در طول توسعه سازماندهی کنید تا کارایی و قابلیت نگهداری را به حداکثر برسانید. سازماندهی کد Rust شامل استفاده از ماژولها، جدا کردن نگرانیها، پیروی از قراردادهای نامگذاری، و خشک نگه داشتن کد شما (تکرار نکنید).