我正在尝试在docker中cargo build
部署Azure IoT边缘安全守护程序代码(edgelet)。这在我的Ubuntu计算机上运行顺利。但是,当我尝试在Docker中进行编译时会发生问题。
这里是问题:
Compiling k8s-openapi v0.4.0
error: inclusive range syntax is experimental (see issue #28237)
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/k8s-openapi-0.4.0/build.rs:10:19
|
10 | for v2 in MIN..=MAX {
| ^^^^^^^^^
error: inclusive range syntax is experimental (see issue #28237)
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/k8s-openapi-0.4.0/build.rs:32:14
|
32 | for v in MIN..=MAX {
| ^^^^^^^^^
error: inclusive range syntax is experimental (see issue #28237)
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/k8s-
openapi-0.4.0/build.rs:117:14
|
117 | for v in MIN..=MAX {
| ^^^^^^^^^
error: aborting due to 3 previous errors
error: Could not compile `k8s-openapi`.
这是我的Docker文件的一部分:
RUN apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated\
curl\
cargo
WORKDIR /usr/app
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
COPY edgelet .
RUN cargo build
答案 0 :(得分:0)
请检查docker映像中使用的rustc版本以及Ubuntu计算机上的编译器版本。
该行为的唯一可能原因是您的docker映像中具有旧版本的rustc。