最初から錆、貨物とプロジェクト管理
TLDR; this article covers how to work with Rust projects using Cargo. As soon as you are dealing with more than one file, it's a good idea to adopt Cargo.
シリーズ
上級
プロジェクト管理
ソフトウェアを開発するときには、考慮する必要があるいくつかのことがあります.以下を追跡するのに必要な主要な事柄のいくつかがあります.
多くのファイル.順序の理由で、コードを1つ以上のファイルを使用してすぐに成長します.多くのファイルのコードを分割すると、注文を作成するが、他の利点や他の利点とのコラボレーションが容易に構築しているものの明確な画像を得ることができます.
サードパーティライブラリ.あなたは間違いなくすべてのコードを自分で書くことができますが、特にあなたのプロジェクトが複雑なら、それはしばらくかかります.より良いアプローチは、ビジネス関連のコードを自分で書いて、標準のライブラリだけでなく、残りのコードのサードパーティ製のライブラリに依存することです.
プロジェクトの構築プロジェクトが成長するにつれて、ますます複雑になる.異なるオペレーティングシステムや開発vsプロダクションに対して、異なるビルドを行う必要があるかもしれません.
タスクを実行します.多くのファイルを持つ大きなプロジェクトを作成する一環として、プロジェクト、さまざまなタスクを実行したいと思うでしょう.
資源
Crates.io ここでは、あなたのプロジェクトのために使用できるパッケージ、すなわちパッケージを見つけることができます.また、コマンドラインを介してパッケージを検索することができます.どのようにそれを検索するための貨物帳を参照してください.
貨物
さて、私たちがプロジェクトについてもう少し知っていることと、我々が管理することに期待していることは、どのように、Rustはプロジェクト管理にアプローチしますか?答えは貨物.カーゴは、あなたのさびがインストールされているようになります.
プロジェクトの作成.貨物は、プロジェクトを作成し、名前、バージョン、あなたの依存関係、およびその他の概念のようなものを追跡するのに役立ちます.
コードをビルドして実行します.貨物は、コードのコンパイルと実行に役立ちます.
機能管理.また、機能のサブセットを支払ったクライアントを持っている場合は、機能のプロジェクトを分割することもできます.この場合、コードの一部をクライアントに出荷したいだけです.続きを読むfeature management
依存性管理.あなたのプロジェクトは、あなたのアプリケーションを構築するために使用する依存関係、ライブラリまたはバイナリからなるでしょう.コードが既に存在しているコードがあるならば、あなたはコードを書きたくありません.
パッケージ管理.貨物でプロジェクトを作成すると、プロジェクトはパッケージになります.パッケージは他のユーザーと理論的に共有できるものです
実行テスト貨物はテストできる.続きを読むrunning tests
貨物のトピックは非常に大きいので、それを専用の全体の本です.Cargo book
あなたの最初のプロジェクト
貨物を使用して最初のプロジェクトを作成するには
cargo
実行可能キーワードnew
最後に、このようなプロジェクトの名前を付けます.cargo new project-name
プロジェクト名サブディレクトリを作成します.このディレクトリで次のファイルを取得しますsrc/
main.rs
.gitignore
Cargo.toml
以下はファイルの意味です.メイン.RS,主要RSは我々のプロジェクトのメインファイルは、我々のアプリのエントリです.メインです.RSが含まれます.
fn main() {
println!("Hello, world!");
}
カーゴ.このプロジェクトのメタ情報を管理し、アプリケーションが機能する必要があるすべての依存関係を管理します.以下にファイルの内容を示します.
[package]
name = "project-name"
version = "0.1.0"
authors = ["email, inferred from Git"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
ご覧の通り、下記のプロジェクトに関する情報があります[package]
名前、バージョン、著者、およびエディションのような部分.別のセクションがあります[dependencies]
あなたが外部の依存関係を持っていないので、それは今のところ空です.コードのビルドと実行
プロジェクトをビルドして実行するには
cargo run
プロジェクトディレクトリのルートcargo run
出力はこのテキストに似ているはずです.Compiling project-name v0.1.0 (/<path>/project-name)
Finished dev [unoptimized + debuginfo] target(s) in 21.51s
Running `target/debug/project-name`
Hello, world!
あなたが見るものはカーゴビルです、そして、あなたのコードを走らせて、それはテキスト「Hello World」を示して終わります.運動をする
我々は、素敵なCLI、コマンドラインアプリケーションを作成することを決めた.そのために、外部ライブラリを使用します
termion
それは私たちに色の出力を与えます.termion
貨物を開くことによって.tomlと[依存関係]セクションを置き、以下の変更を行います. [dependencies]
termion = "*"
グレート、今我々はライブラリをしたい貨物を教えているtermion
, 次に、私たちのコードでそのライブラリを活用しましょう. extern crate termion;
use termion::{color};
fn main() {
println!("{}Red", color::Fg(color::Red));
println!("{}Blue", color::Fg(color::Blue));
println!("Hello, world!");
}
cargo run
: cargo run
あなたが今見ているものは、“Termion”パッケージが位置し、それをダウンロードしようとする Updating crates.io index
Downloaded termion v1.5.6
Downloaded numtoa v0.1.0
Downloaded libc v0.2.108
Downloaded 3 crates (591.2 KB) in 0.52s
Compiling libc v0.2.108
Compiling numtoa v0.1.0
Compiling termion v1.5.6
Compiling project-name v0.1.0 (/<path>/project-name)
端末出力の最後に、色付き出力が表示されます.I read somewhere that this might not work on Windows, please let me know in the comments if you have issues getting this to work.
概要
この記事では、我々が「成長する」物語を見ました
rustc
我々のコードをコンパイルして、それと他の多くのもののために貨物を使い始めること.プロジェクト管理は、あなたが考慮する多くのものを持っていることを意味し、貨物はそれらの多くを処理します.貨物はあなたの新しい親友であり、うまくいけば、この記事のリソースセクションで提供されるリンクで貨物を使用することについての詳細を学ぶことができます.このシリーズのすべての将来の部品は、貨物を使います.Reference
この問題について(最初から錆、貨物とプロジェクト管理), 我々は、より多くの情報をここで見つけました https://dev.to/azure/rust-from-the-beginning-project-management-with-cargo-3kfkテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol