一、当执行

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources/list.d/ros-latest/list'

时,终端显示sh: 1: cannot create /etc/apt/sources/list.d/ros-latest/list: Directory nonexistent
解决办法:将命令替换成

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'

——————————————————————————————————
参考文章:https://www.cnblogs.com/sea-stream/p/10049385.html
作者:anobscureretreat

不用上述两种的话,
写入如下源(中科大):

 sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/$DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

这个比较好用。

二、添加密钥可以有以下几种:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

显示gpg: 合计被处理的数量:1 gpg: 已导入:1表示成功。

三、sudo apt-get update失败
如下报错

命中:1 http://archive.canonical.com/ubuntu bionic InRelease
获取:2 http://mirrors.sohu.com/ubuntu bionic InRelease [8 B]
错误:2 http://mirrors.sohu.com/ubuntu bionic InRelease明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
获取:3 http://mirrors.sohu.com/ubuntu bionic-updates InRelease [8 B]
错误:3 http://mirrors.sohu.com/ubuntu bionic-updates InRelease明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
获取:4 http://mirrors.sohu.com/ubuntu bionic-backports InRelease [8 B]
错误:4 http://mirrors.sohu.com/ubuntu bionic-backports InRelease明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
获取:5 http://mirrors.sohu.com/ubuntu bionic-security InRelease [8 B]
错误:5 http://mirrors.sohu.com/ubuntu bionic-security InRelease明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
命中:6 http://packages.ros.org/ros/ubuntu trusty InRelease
正在读取软件包列表... 完成
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
N: 无法安全地用该源进行更新,所以默认禁用该源。
E: 仓库 “http://mirrors.sohu.com/ubuntu bionic InRelease” 没有数字签名。
E: 无法下载 http://mirrors.sohu.com/ubuntu/dists/bionic/InRelease  明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
N: 无法安全地用该源进行更新,所以默认禁用该源。
E: 仓库 “http://mirrors.sohu.com/ubuntu bionic-updates InRelease” 没有数字签名。
E: 无法下载 http://mirrors.sohu.com/ubuntu/dists/bionic-updates/InRelease  明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
E: 无法下载 http://mirrors.sohu.com/ubuntu/dists/bionic-backports/InRelease  明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
E: 仓库 “http://mirrors.sohu.com/ubuntu bionic-backports InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
E: 无法下载 http://mirrors.sohu.com/ubuntu/dists/bionic-security/InRelease  明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)
E: 仓库 “http://mirrors.sohu.com/ubuntu bionic-security InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

解决方案:
使用如下源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/$DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

之后输入:

sudo apt-get update

四、sudo apt-get update后有如下错误

E: 文件 list 第 1 行的记录格式有误 /etc/apt/sources.list.d/ros-latest.list (Component)
E: 无法读取源列表。

解决方案:
执行

sudo rm /etc/apt/sources.list.d/ros-latest.list

参考文章:https://blog.csdn.net/qq_45805535/article/details/107289424

五、sudo apt-get update后有如下错误

E: 仓库 “http://archive.ubuntu.com/ubuntu/trusty main Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

解决方案:
1.在官网源https://mirrors.ustc.edu.cn/repogen/下载对应版本最新的源,比如19.10版本的ubuntu,对应下载这个
我的是18.04的ubuntu就选18.04下载

2.下载sources.list完成之后将源拷贝到对应的位置将原文件覆盖

sudo cp sources.list /etc/apt

3.再执行sudo apt-get update

参考文章:https://blog.csdn.net/jh_luchi/article/details/102812031

注意!!!!
这个方法用完以后要重新执行ROS安装的第一步,添加ros源,因为这个是改变了原有的sources.list文件。不然后续安装就会报出类似

sudo apt-get install ros-melodic-desktop-full
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 ros-melodic-desktop-full

的错误。

补充:
其中,复制文件没有权限的时候
1.打开终端
2.输入sudo nautilus
3.可以进行和windows下相同的操作了
参考文章:https://blog.csdn.net/weixin_40556448/article/details/79769585

六、执行sudo rosdep init
报如下错误
sudo: rosdep:找不到命令

解决方案:
1.输入sudo apt install python-rosdep2
2.输入sudo rosdep init
3.见到如下错误时

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

输入sudo apt-get install python-rosdep python-wstool ros-melodic-ros
(根据自己安装ros版本填入,比如我是ubuntu18.04安装ROS melodic,所以命令如上)
参考文章:https://blog.csdn.net/weixin_40772628/article/details/103377637
但是我用这个方法只解决了第一个找不到命令的问题,第二个没有解决。解决方法用下边记录的方法。

七、执行sudo rosdep init
有如下错误

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

解决方案:
1、网上说可能是网络原因,换成手机热点可以成功,但是因为我是在台式机安装,用不了热点,没法尝试。

2、参考这个文章方法以前解决过这个问题https://www.bbsmax.com/A/ZOJPvXKydv/
其中最后一个方法里提到的新建文件复制https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list 里面的内容。具体方法如下:
*1.*输入sudo mkdir -p /etc/ros/rosdep/source.list.d
*2.*进入这个位置cd /etc/ros/rosdep/sources.list.d/
*3.*创建一个文件sudo gedit 20-default.list
*4.*把https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list 里的文件写入刚刚创建的文件(开始我打不开,也没钱挂vpn,用笔记本电脑连手机热点打开了,里边的文件是这个样子的)

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

但是都没能成功。
3、我又找到了这个方法:https://www.cnblogs.com/knightningwing/p/11456463.html
在终端输入
wget https://raw.github.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
但是这个命令又出现了如下问题:

https://raw.github.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
正在连接 raw.github.com (raw.github.com)|151.101.228.133|:443... 失败:拒绝连接。

解决方案:
*1.*进入网站:https://site.ip138.com/raw.Github.com/在里边查询到最新连接的IP地址。
*2.*在Ubuntu终端输入:sudo vi /etc/hosts
*3.*选择上面一个添加内容即可:
比如:151.101.76.133 raw.github.com
后续我又全部添加了这些

# GitHub Start
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
151.101.76.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com
# GitHub End

再执行sudo rosdep init显示

Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please runrosdep update

问题解决。

参考文章:https://www.cnblogs.com/sundaysme/p/13198787.html
https://www.it610.com/article/1293081927871438848.htm

八、执行rosdep update
有如下提示:

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml]:<urlopen error timed out> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:Failed to download target platform data for gbpdistro:<urlopen error timed out>
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
ERROR: error loading sources list:<urlopen error <urlopen error timed out> (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)>

解决方案:
1.输入sudo vim /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py将里边DOWNLOAD_TIMEOUT = 15.0值,改大一点,我改成了25。
2.输入sudo vim /usr/lib/python2.7/dist-packages/rosdep2/rep3.py同样将里边DOWNLOAD_TIMEOUT = 15.0值,改大一点,我也改成了25。
3.输入sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py同上。
我只改了前边两个文件就可以了,参考文章https://www.cnblogs.com/zxzmnh/p/11758103.html中一共改三个文件,有问题的可以再参考一下。

剩下的过程就很简单了,这里就不说了。

安装ROS时遇到的一些坑,做个笔记方便自己查看相关推荐

  1. 记录戴尔t640切换集/独显及安装驱动时踩过的坑

    记录戴尔t640切换集/独显及安装驱动时踩过的坑 写在前面 Nvidia驱动安装篇 服务器改配置篇 写在前面 先大体说一下机器:我用的是一台dell的t640塔式服务器,ubuntu16.04,用来做 ...

  2. Ubuntu16.04安装ROS时,sudo rosdep init报错,Error: cannot download default sources list from:

    安装ROS时需要安装rosdep,但是由于外网访问不了,所以访问不了https://raw.githubusercontent.com/网站.因此在执行sudo rosdep init这一步时,会提示 ...

  3. github安装_安装ROS时无法初始化(无法连接raw.github)的解决方案

    安装ROS时无法初始化(无法连接raw.github)的解决方案 问题综述: sudo rosdep init rosdep update 两行命令报错,提示无法连接https://raw.githu ...

  4. 解决安装ROS时出现的sudo rosdep init错误问题

    解决安装ROS时出现的sudo rosdep init错误问题 目前安装ROS时输入sudo rosdep init的命令时,可能会出现以下的错误: ERROR: cannot download de ...

  5. ubuntu安装ROS时遇到的“由于没有公钥,无法验证签名”问题

    1.安装ROS参考博客:ROS安装 2.更新软件源出现错误: sudo apt update GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic I ...

  6. 解决安装ROS 时rosdep update 问题(time out)

    1.下载rosdistro文件夹,里面包含master -->rosdep文件夹-->base.yaml  osx-homebrew.yaml  python.yaml  ruby.yam ...

  7. ubuntu16.04 安装ROS时,sudo rosdep init 出错

    ~$ sudo rosdep init ERROR: cannot download default sources list from: https://raw.githubusercontent. ...

  8. Ubuntu18.04安装ROS过程记录:主要解决 sudo rosdep init时的无法连接和rosdep update时的time out问题

    安装流程基本上参考的文章[1],在过程中遇到一些问题.采用以下步骤解决: 1.是初始化命令时出错 sudo rosdep init 提示:sudo rosdep:找不到命令提示,参照[2]的解决方案 ...

  9. Ubuntu18.04安装Ros(最新最详细亲测)

    文章目录 安装前必看 旧博文的前言 一.版本选择 二.下载步骤 1.检查Unbuntu的软件和更新源 2.设置Ros的下载源 3.安装ROS 4.设置环境变量 5.下载其他功能组件 6.rosdep ...

最新文章

  1. 你哪来这么多事(二):学生信息查找
  2. java程序设计_Java程序设计:学习笔记(4-5)(未完工)
  3. 从LSTM到GRU基于门控的循环神经网络总结
  4. android log.d 格式化,android – 在我的代码中使用Log.d()或Log.e()
  5. 【Linux进程、线程、任务调度】一 Linux进程生命周期 僵尸进程的含义 停止状态与作业控制 内存泄漏的真实含义 task_struct以及task_struct之间的关系
  6. 北师大计算机组成原理答案,计算机组成原理(白中英)本科生试题库整理附答案[共21页].doc...
  7. POJ-3264-Balanced Lineup
  8. Win10 不火不行!Edge 无缝兼容 Chrome扩展
  9. 中亿验钞机升级_最前线|火山小视频升级为抖音火山版,抗衡快手火力更足了吗?...
  10. 自定义MyBatis拦截器
  11. c语言程序框图示范,C语言程序框图courseware.ppt
  12. csdn博客文章头部自动生成目录
  13. 全球及中国石头纸行业发展动态与投资现状分析报告2022版
  14. kafka(一):kafka架构
  15. 通往天堂的选择问题 python_意识体革命
  16. Excel自定义排序(可按某一列排序)
  17. 计算机操作系统与嵌入式操作系统的区别,嵌入式操作系统与通用计算机操作系统的区别...
  18. 程序员的核心竞争力是什么?为什么?
  19. rabbitmq java 测试_RabbitMQ 简单测试
  20. 解决iOS 上拉边界下拉出现白色空白

热门文章

  1. PHP上传图片到服务器
  2. linux做前端的软件,Linux下使用的GCC编译器图形前端软件wxgcc
  3. java正序输出整数_java实现:将一个数逆序输出
  4. 技术类编程题汇总 C++ 刷题记录
  5. sql数据库如何读取数据
  6. 实战智能推荐系统(6)-- 用户行为分析
  7. GPIO的八种工作模式
  8. iframe相关,iframe样式
  9. Python中for循环的使用
  10. Latex 使用自己安装的自定义字体 教程