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

    使用一键安装过程中遇到程序崩溃

    已定时 已固定 已锁定 已移动 已解决
    一键安装
    一键安装 ros2 humble安装
    3
    6
    349
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 2
      2509562097
      最后由 编辑

      执行wget http://fishros.com/install -O fishros && bash fishros后,选择了11安装docker下的ros2,最终选了humble版本后,在程序运行时遇到如下错误:

      Traceback (most recent call last):
        File "/tmp/fishinstall/install.py", line 133, in <module>
          main()
        File "/tmp/fishinstall/install.py", line 122, in main
          run_tool_file(tools[code]['tool'].replace("/","."))
        File "/tmp/fishinstall/tools/base.py", line 1447, in run_tool_file
          if tool.run()==False: return False
        File "/tmp/fishinstall/tools/tool_install_ros_with_docker.py", line 254, in run
          self.install_ros_with_docker()
        File "/tmp/fishinstall/tools/tool_install_ros_with_docker.py", line 240, in install_ros_with_docker
          self.install_docker()
        File "/tmp/fishinstall/tools/tool_install_ros_with_docker.py", line 145, in install_docker
          run_tool_file('tools.tool_install_docker')
        File "/tmp/fishinstall/tools/base.py", line 1447, in run_tool_file
          if tool.run()==False: return False
        File "/tmp/fishinstall/tools/tool_install_docker.py", line 54, in run
          self.install_docker()
        File "/tmp/fishinstall/tools/tool_install_docker.py", line 48, in install_docker
          user = FileUtils.getusers()[0]
        File "/tmp/fishinstall/tools/base.py", line 1182, in getusers
          users = users[1][0].split(" ")
      IndexError: list index out of range
      
      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        这个错误是由于在尝试从系统命令的输出中解析用户信息时,返回的数据格式与预期不符,导致列表索引超出范围。具体来说,错误发生在tool_install_docker.py文件的getusers函数中,这个函数尝试从某个系统命令(可能是whoami或类似命令)的输出中提取用户信息,但输出的格式或内容没有按预期那样包含足够的字段。

        为了解决这个问题,你可以尝试以下几个步骤:

        1. 检查getusers函数:
          查看tools/base.py文件中的getusers函数,了解它是如何获取用户信息的。通常,这个函数会执行一个系统命令(如whoami或id -un)并解析其输出。你可以尝试直接在命令行中运行这些命令,看看输出是什么。

        2. 修改getusers函数:
          如果getusers函数中的命令输出与预期不符,你可能需要修改这个函数以适应你的系统。例如,如果whoami或id -un的输出与函数预期的格式不同,你可能需要调整代码来正确解析输出。

        3. 手动安装Docker:
          由于问题似乎出在Docker的安装过程中,你也可以考虑手动安装Docker,然后跳过脚本的这一部分。你可以访问Docker的官方网站获取安装指令,通常对于大多数Linux发行版,都有详细的安装指南。

        4. 查看是否有其他用户报告相同问题:
          查看fishros的GitHub仓库或其他相关社区,看看是否有其他用户报告了相同的问题。可能已经有现成的解决方案或补丁。

        5. 使用其他ROS2安装方法:
          如果fishros的Docker方法持续遇到问题,你可以考虑使用其他ROS2的安装方法,如从源代码编译或使用官方提供的二进制安装器(如果可用)。

        6. 检查系统环境:
          确保你的系统环境(如操作系统版本、Python版本等)与fishros的要求相匹配。有时候,不兼容的环境也会导致安装过程中的问题。

        希望这些步骤能帮助你解决问题!如果问题仍然存在,可能需要更详细地检查脚本和系统日志,以确定问题的根源。


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

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

        1 条回复 最后回复 回复 引用 0
        • 小鱼小
          小鱼 技术大佬 @2509562097
          最后由 编辑

          @2509562097 收到,我瞅瞅

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

          2 1 条回复 最后回复 回复 引用 0
          • 2
            2509562097 @小鱼
            最后由 编辑

            @小鱼 好的没事,不着急,我换了推荐的一键安装方法就成功了,我用的是wsl,不知道和这个有没有关系,主要可以传上来个bug供大家参考下👍

            小鱼小 1 条回复 最后回复 回复 引用 0
            • 小鱼小
              小鱼 技术大佬 @2509562097
              最后由 编辑

              @2509562097 已经修复了,不过不推荐在wsl下使用docker

              新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

              2 1 条回复 最后回复 回复 引用 0
              • 2
                2509562097 @小鱼
                最后由 编辑

                @小鱼 好的非常感谢

                1 条回复 最后回复 回复 引用 0
                • 小伊小 小伊 将这个主题转为问答主题,在
                • 小伊小 小伊 将这个主题标记为已解决,在
                • 第一个帖子
                  最后一个帖子
                皖ICP备16016415号-7
                Powered by NodeBB | 鱼香ROS