我正在关注the tutorial to run a Rust application in a Docker image。我的Dockerfile中包含以下内容:
FROM rust:1.23.0
WORKDIR src/main
COPY . .
RUN cargo install
CMD ["main"]
使用docker build -t my-rust-app .
运行此命令时,出现以下错误:
error: `std::sync::atomic::AtomicBool::new` is not yet stable as a const fn
--> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/yansi-0.4.0/src/paint.rs:274:30
|
274 | static ENABLED: AtomicBool = AtomicBool::new(true);
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: in Nightly builds, add `#![feature(const_atomic_bool_new)]` to the crate attributes to enable
error: aborting due to previous error
error: Could not compile `yansi`.
该如何解决此错误并在Docker容器中运行Rust应用程序?我已经研究了几个小时,并在我的Dockerfile中尝试了rustup update
和cargo update
的变体,但是这些安装都没有解决错误。
答案 0 :(得分:2)
将AtomicBool::new
称为const是stabilized in Rust 1.24.0。使用该版本(或任何更高版本)进行编译可以解决您的问题:
FROM rust:1.24.0