小菜韩 2023-08-22 23:36 采纳率: 42.1%
浏览 2

Mac中docker配置ros:noetic报错问题

本人电脑mac,m1芯片,新手入门docker。在使用docker拉去ros:noetic时,dockerfile文件如下

FROM ros:noetic-ros-base

# Set the environment variables to prevent interactive prompts during installation
ENV DEBIAN_FRONTEND=noninteractive

# Update the package list and install required packages
RUN apt-get update && apt-get install -y \
    python3-osrf-pycommon \
    python3-catkin-tools \
    ros-noetic-rviz \
    ros-noetic-gazebo-ros-pkgs

# Create a catkin workspace
RUN mkdir -p /catkin_ws/src && \
    cd /catkin_ws && \
    catkin_make

# Source the workspace setup.bash file
RUN echo "source /catkin_ws/devel/setup.bash" >> /root/.bashrc

随后执行(base) docker build -t ros-noetic-arm64 .
报错代码如下

 > [3/4] RUN mkdir -p /catkin_ws/src &&     cd /catkin_ws &&     catkin_make:
0.127 /bin/sh: 1: catkin_make: not found
------
Dockerfile:14
--------------------
  13 |     # Create a catkin workspace
  14 | >>> RUN mkdir -p /catkin_ws/src && \
  15 | >>>     cd /catkin_ws && \
  16 | >>>     catkin_make
  17 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir -p /catkin_ws/src &&     cd /catkin_ws &&     catkin_make" did not complete successfully: exit code: 127

这是什么原因,我该如何修改,感谢

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-23 08:25
    关注

    【以下回答由 GPT 生成】

    问题原因是在Dockerfile中的第14行尝试运行catkin_make命令时出错,提示找不到该命令。

    这个问题可能是由于在执行catkin_make之前,没有安装构建工具和ROS相关的依赖项导致的。

    为了解决这个问题,你可以在Dockerfile中添加安装构建工具和ROS依赖项的步骤。更新后的Dockerfile如下所示:

    FROM ros:noetic-ros-base
    
    # Set the environment variables to prevent interactive prompts during installation
    ENV DEBIAN_FRONTEND=noninteractive
    
    # Update the package list and install required packages
    RUN apt-get update && apt-get install -y \
        python3-osrf-pycommon \
        python3-catkin-tools \
        ros-noetic-rviz \
        ros-noetic-gazebo-ros-pkgs \
        build-essential
    
    # Create a catkin workspace
    RUN mkdir -p /catkin_ws/src && \
        cd /catkin_ws && \
        catkin_make
    
    # Source the workspace setup.bash file
    RUN echo "source /catkin_ws/devel/setup.bash" >> /root/.bashrc
    

    更新后的Dockerfile中,我添加了build-essential包的安装,这是基本的构建工具。

    现在,重新执行docker build -t ros-noetic-arm64 .命令,它应该能够成功构建Docker映像,解决这个问题。

    请注意,由于你使用的是Mac电脑,需要确保已经正确地安装和配置了Docker Desktop for Mac。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月22日

悬赏问题

  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥15 抖音看过的视频,缓存在哪个文件