鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    ubuntu24.04,一键安装docker版所有ros1或是ros2版本都失败

    已定时 已固定 已锁定 已移动
    一键安装
    一键安装 ros安装
    2
    2
    324
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 1
      鱼德仁
      最后由 175145573 编辑

      1选择版本的返回值是None,不知道是不是这里有问题?

      2看翻译提示错误:引用格式无效,存储库必须小写,求解决方案。

      ================================1.版本选择======================================
      RUN Choose Task:[请输入括号内的数字]
      请选择你要安装的ROS版本名称(请注意ROS1和ROS2区别):
      [1]:jazzy ROS2
      [2]:noetic ROS1
      [3]:humble ROS2
      [4]:foxy ROS2
      [5]:galactic ROS2
      [6]:iron ROS2
      [7]:melodic ROS1
      [8]:rolling ROS2
      [9]:kinetic ROS1
      [10]:eloquent ROS2
      [11]:dashing ROS2
      [12]:crystal ROS2
      [13]:bouncy ROS2
      [14]:ardent ROS2
      [15]:lunar ROS2
      [16]:indigo ROS1
      [0]:quit
      请输入[]内的数字以选择:[16]
      请输入[]内的数字以选择:2
      你选择了None

      ================================2.安装Docker======================================
      Run CMD Task:[docker version]
      [-]Result:success 76a6b735f29cc25774e

      =================3.下载镜像(该步骤因网络原因会慢一些,若失败请重试)==================

      Run CMD Task:[sudo docker pull None ]
      invalid reference format: repository name (library/None) must be lowercase
      Run CMD Task:[sudo docker pull None ]
      invalid reference format: repository name (library/None) must be lowercase
      Run CMD Task:[sudo docker pull None ]
      invalid reference format: repository name (library/None) must be lowercase
      ================================4.生成容器======================================
      请为你的indigo ROS1容器取个名字吧!

      indigo1
      收到名字indigo1
      Run CMD Task:[users]
      [-]Result:success

      Run CMD Task:[sudo docker run -dit --name=indigo1 -v /home/ydr:/home/ydr -v /tmp/.X11-unix:/tmp/.X11-unix --device=/dev/dri/renderD128 -v /dev/dri:/dev/dri --device=/dev/snd -e DISPLAY=unix$DISPLAY -w /home/ydr None]
      docker: invalid reference format: repository name (library/None) must be lowercase.
      See 'docker run --help'.
      Run CMD Task:[docker exec -it indigo1 /bin/bash -c "echo -e '
      source /opt/ros/indigo ROS1/setup.bash' >> ~/.bashrc" ]
      Error response from daemon: No such container: indigo1
      Run CMD Task:[xhost +local:]
      non-network local connections being added to access control list
      ================================5.生成命令======================================
      Traceback (most recent call last):
      File "/tmp/fishinstall/install.py", line 124, in <module>
      main()
      File "/tmp/fishinstall/install.py", line 116, in main
      run_tool_file(tools[code]['tool'].replace(url_prefix,'').replace("/","."))
      File "/tmp/fishinstall/tools/base.py", line 1297, in run_tool_file
      if tool.run()==False: return False
      ^^^^^^^^^^
      File "/tmp/fishinstall/tools/tool_install_ros_with_docker.py", line 249, in run
      self.install_ros_with_docker()
      File "/tmp/fishinstall/tools/tool_install_ros_with_docker.py", line 238, in install_ros_with_docker
      self.generte_command(container_name,rosname)
      File "/tmp/fishinstall/tools/tool_install_ros_with_docker.py", line 199, in generte_command
      rosversion = RosVersions.get_ros_version(rosname).version
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      AttributeError: 'NoneType' object has no attribute 'version'

      • 列表
      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        从您提供的错误信息来看,问题出在尝试使用Docker来拉取和运行ROS镜像时,指定的镜像名称是None,这显然是无效的。同时,indigo ROS1 这个字符串在创建容器命令中被错误地用作了镜像名称的一部分,而它应该是镜像的完整名称或者别名。

        以下是一些步骤来解决您的问题:

        1. 确定要安装的ROS版本和对应的Docker镜像名称:

          • 对于ROS 1,您需要知道要安装的发行版(比如indigo、melodic等)以及对应的Docker镜像名称。
          • 对于ROS 2,同样地,您需要知道要安装的发行版(比如foxy、galactic等)以及对应的Docker镜像名称。

          您可以在Docker Hub或者其他Docker镜像仓库中搜索对应的ROS镜像。

        2. 拉取ROS Docker镜像:
          使用docker pull命令来拉取ROS Docker镜像。例如,如果要拉取名为ros:melodic-ros-base-bionic的ROS 1 Melodic镜像,您应该运行:

          sudo docker pull ros:melodic-ros-base-bionic
          

          请确保将上面的镜像名称替换为您实际要安装的ROS版本对应的镜像名称。

        3. 运行ROS Docker容器:
          使用docker run命令来运行ROS Docker容器。您需要指定容器名称、挂载的卷、设备以及其他必要的参数。但是,确保不要将None作为镜像名称。

          例如:

          sudo docker run -dit --name=indigo1 \
          -v /home/ydr:/home/ydr \
          -v /tmp/.X11-unix:/tmp/.X11-unix \
          -e DISPLAY=unix$DISPLAY \
          -w /home/ydr \
          ros:melodic-ros-base-bionic
          

          请确保将ros:melodic-ros-base-bionic替换为您实际要运行的ROS Docker镜像名称。

        4. 修复安装脚本:
          如果您使用的是某个自动化安装脚本(如install.py),您需要确保该脚本中正确设置了ROS Docker镜像的名称。检查脚本中的相关部分,并进行必要的更改。

        5. 检查错误输出:
          如果您在执行上述步骤时遇到任何错误,请仔细检查错误输出,并根据需要进行调整。

        最后,请注意,ROS的Docker镜像可能包含不同的标签,这些标签可能表示不同的ROS发行版、不同的基础操作系统或其他配置。确保您选择了与您的需求相匹配的镜像标签。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS