rust:language_memo

文書の過去の版を表示しています。


Rust ランゲージ メモ

$ cargo new haruo_axum

    Creating binary (application) `haruo_axum` package
note: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

$ tree haruo_axum

haruo_axum
├── Cargo.toml
└── src
    └── main.rs

Cargo.toml を手で編集することなく、cargo add で好きなクレートをどんどん追加して開発できる😊

$ cd haruo_axum
$ bat -p Cargo.toml

[package]
name = "haruo_axum"
version = "0.1.0"
edition = "2021"

[dependencies]

Axum を追加する場合…🤔

$ cargo add axum

    Updating crates.io index
      Adding axum v0.7.5 to dependencies
             Features:
             + form
             + http1
             + json
             + matched-path
             + original-uri
             + query
             + tokio
             + tower-log
             + tracing
             - __private_docs
             - http2
             - macros
             - multipart
             - ws
    Updating crates.io index

$ bat -p Cargo.toml

[package]
name = "haruo_axum"
version = "0.1.0"
edition = "2021"

[dependencies]
axum = "0.7.5"

Features (特徴) を有効にしてクレートを追加する場合…🤔

$ cargo add tokio --features rt-multi-thread

Or

$ cargo add tokio -F rt-multi-thread

    Updating crates.io index
      Adding tokio v1.38.0 to dependencies
             Features:
             + num_cpus
             + rt
             + rt-multi-thread
             - bytes
             - fs
             - full
             - io-std
             - io-util
             - libc
             - macros
             - mio
             - net
             - parking_lot
             - process
             - signal
             - signal-hook-registry
             - socket2
             - sync
             - test-util
             - time
             - tokio-macros
             - tracing
             - windows-sys

依存クレートを追加済みでも、Features をあとから追加で有効化できる…🤔
Features を複数有効化したい場合はカンマ(“,”) で区切って指定する😊

$ cargo add diesel

    Updating crates.io index
      Adding diesel v2.2.0 to dependencies
             Features:
             + 32-column-tables
             + with-deprecated
             - 128-column-tables
             - 64-column-tables
             - __with_asan_tests
             - chrono
             - extras
             - huge-tables
             - i-implement-a-third-party-backend-and-opt-into-breaking-changes
             - ipnet-address
             - large-tables
             - mysql
             - mysql_backend
             - mysqlclient-src
             - network-address
             - numeric
             - postgres
             - postgres_backend
             - pq-src
             - quickcheck
             - r2d2
             - returning_clauses_for_sqlite_3_35
             - serde_json
             - sqlite
             - time
             - unstable
             - uuid
             - without-deprecated
    Updating crates.io index

$ cargo add diesel -F postgres,r2d2,chrono,i-implement-a-third-party-backend-and-opt-into-breaking-changes

    Updating crates.io index
      Adding diesel v2.2.0 to dependencies
             Features:
             + 32-column-tables
             + chrono
             + i-implement-a-third-party-backend-and-opt-into-breaking-changes
             + postgres
             + postgres_backend
             + r2d2
             + with-deprecated
             - 128-column-tables
             - 64-column-tables
             - __with_asan_tests
             - extras
             - huge-tables
             - ipnet-address
             - large-tables
             - mysql
             - mysql_backend
             - mysqlclient-src
             - network-address
             - numeric
             - pq-src
             - quickcheck
             - returning_clauses_for_sqlite_3_35
             - serde_json
             - sqlite
             - time
             - unstable
             - uuid
             - without-deprecated

開発時のみ必要なクレートは、--dev オプションを指定して追加する🤔

$ cargo add --dev assert_cmd predicates

    Updating crates.io index
      Adding assert_cmd v2.0.14 to dev-dependencies
             Features:
             - color
             - color-auto
      Adding predicates v3.1.0 to dev-dependencies
             Features:
             + color
             + diff
             + float-cmp
             + normalize-line-endings
             + regex
             - unstable
    Updating crates.io index

必要なクレートをどんどん追加する😅

$ cargo add serde -F derive
$ cargo add tracing-subscriber
$ cargo add clap -F derive

  • rust/language_memo.1718262447.txt.gz
  • 最終更新: 2024/06/13 16:07
  • by ともやん