Sifat mengikat 'FieldAttr:ToTokens' tidak berpuas hati: ralat
P粉696891871
P粉696891871 2024-03-27 09:30:39
0
2
340

Saya mahu menggunakan versi Dockerfile pada EC2(fargate). Saya mendapat ralat berikut dalam cloudwatch. "Gagal membuat kumpulan.: Ralat (Tiada)" Saya telah mencari penyelesaian untuk masalah ini. Saya menukar kaedah daripada build 更改为 build_unchecked semasa membuat sambungan.

Walau bagaimanapun, saya mendapat ralat berikut dan tidak dapat menyusun.

error[E0277]: the trait bound `FieldAttr: ToTokens` is not satisfied
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/diesel_derives-2.0.1/src/attrs.rs:143:18
    |
143 | impl Spanned for FieldAttr {
    |                  ^^^^^^^^^ the trait `ToTokens` is not implemented for `FieldAttr`
    |
    = help: the following other types implement trait `ToTokens`:
              &'a T
              &'a mut T
              Abi
              Abstract
              AndAnd
              AndEq
              AngleBracketedGenericArguments
              Arm
            and 312 others
    = note: required for `FieldAttr` to implement `quote::spanned::private::Sealed`
note: required by a bound in `quote::spanned::Spanned`
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.25/src/spanned.rs:6:20
    |
6   | pub trait Spanned: private::Sealed {
    |                    ^^^^^^^^^^^^^^^ required by this bound in `Spanned`

error[E0277]: the trait bound `StructAttr: ToTokens` is not satisfied
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/diesel_derives-2.0.1/src/attrs.rs:242:18
    |
242 | impl Spanned for StructAttr {
    |                  ^^^^^^^^^^ the trait `ToTokens` is not implemented for `StructAttr`
    |
    = help: the following other types implement trait `ToTokens`:
              &'a T
              &'a mut T
              Abi
              Abstract
              AndAnd
              AndEq
              AngleBracketedGenericArguments
              Arm
            and 312 others
    = note: required for `StructAttr` to implement `quote::spanned::private::Sealed`
note: required by a bound in `quote::spanned::Spanned`
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.25/src/spanned.rs:6:20
    |
6   | pub trait Spanned: private::Sealed {
    |                    ^^^^^^^^^^^^^^^ required by this bound in `Spanned`

For more information about this error, try `rustc --explain E0277`.
error: could not compile `diesel_derives` due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `practice-rust v0.1.0 (/usr/src/practice-rust)`, intermediate artifacts can be found at `/usr/src/practice-rust/target`
pub type Pool = r2d2::Pool<ConnectionManager<MysqlConnection>>;

pub fn establish_connection() -> Pool {
    dotenv().ok();

    std::env::set_var("RUST_LOG", "actix_web=debug");
    let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set");


    let manager = ConnectionManager::<MysqlConnection>::new(database_url);
    let pool: Pool = r2d2::Pool::builder().build_unchecked(manager);
    pool
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {

    let pool = db::establish_connection();
    HttpServer::new(move|| {
        App::new()
        .app_data(Data::new(pool.clone()))
        .service(todo_index)
    })
    .bind("0.0.0.0:8080")?
    .run()
    .await
}
#[get("/api/todo")]
async fn todo_index(db: web::Data<db::Pool>) -> impl Responder {

    let mut conn = db.get().unwrap();
    let todo = schema::todos::table
        .load::<model::Todo>(&mut conn)
        .expect("Error not showing todo list");

    HttpResponse::Ok().json(todo)
}

Saya cuba lulus melalui rujukan tetapi tidak berjaya.

Bina fail Docker lain tanpa pengubahsuaian. Masalahnya adalah dalam Dockerfile.

dev: Pembinaan selesai.

FROM rust:1-slim-buster

RUN apt-get update \
    && apt-get install -y default-libmysqlclient-dev mariadb-client

WORKDIR /usr/src/myapp/practice-rust
COPY . .

stg: Tidak dapat membina.

FROM rust:1-slim-buster as builder

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
    default-libmysqlclient-dev mariadb-client \
    && apt-get -y clean \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/practice-rust
COPY . .

RUN cargo install --path .

FROM debian:10.13-slim as stage

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
    default-libmysqlclient-dev mariadb-client \
    && apt-get -y clean \
    && rm -rf /var/lib/apt/lists/*

COPY --from=builder /usr/local/cargo/bin/practice-rust /usr/local/bin/practice-rust
CMD [ "practice-rust"]

P粉696891871
P粉696891871

membalas semua(2)
P粉545910687

Hei, saya baru sahaja mengalami ralat yang sama dengan mengemas kini kebergantungan ini:

https://github.com/nxthat/nanocl/commit/6b7b19d7ff50d9392b1e56ec1ad67c34ea63 c632

Mungkin anda boleh membetulkannya dengan cepat dengan menurunkan taraf beberapa kebergantungan?

Saya pun nak tahu apa masalahnya

P粉659378577

Saya rasa ini berlaku kerana perubahan besar dalam "rujukan" Pautan soalan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan