编译Azure IOT Edge的Edgelet模块时出现货物错误

时间:2019-07-29 12:25:18

标签: docker rust rust-cargo azure-iot-edge

我正在尝试在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

1 个答案:

答案 0 :(得分:0)

请检查docker映像中使用的rustc版本以及Ubuntu计算机上的编译器版本。

该行为的唯一可能原因是您的docker映像中具有旧版本的rustc。