最近真的是每天都有新惊喜{手动微笑}
明明昨天一切正常,过一晚来打开电脑,运行跑了几百遍的代码就开始给我报错,说ROS各种没安装(exm?简直黑人问号脸了好嘛!)
又照着前面写过的ROS安装步骤走:重装ubuntu16.04之后的基础操作(界面美观+安装浏览器+更新软件源+安装ROS)
开始报错如下:
下列软件包有未满足的依赖关系:
ros-kinetic-desktop-full : 依赖: ros-kinetic-desktop 但是它将不会被安装
依赖: ros-kinetic-perception 但是它将不会被安装
依赖: ros-kinetic-simulators 但是它将不会被安装
依赖: ros-kinetic-urdf-tutorial 但是它将不会被安装
N: 忽略‘google-chrome.list.2’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
所以接下来的探险就是基于以上问题了。打怪打怪!
-----------------------------------------------------------------------------------------------------------------------------
网上找到的一种解决方案:
sudo apt-get install aptitude
sudo aptitude install ros-kinetic-desktop-full
点击Y
然后再次安装就可以成功了。
事实证明上面这句话是虚假的。
再次安装走到新打开终端就进行不下去了。
运行roscore,新的提示:
程序“roscore”尚未安装。 您可以使用以下命令安装:
sudo apt install python-roslaunch
按照提示走吧,又报错:
下列软件包有未满足的依赖关系:
python-roslaunch : 依赖: python-roslib 但是它将不会被安装
N: 忽略‘google-chrome.list.2’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
然后在终端中输入roscore 成功运行。
到这一步我瞬间想到是昨晚为了不打开每个终端的时候都显示“bash: /opt/ros/kinetic/setup.bash: 没有那个文件或目录“
就把这一行给注释掉了。。。。
————————————————————————————————————————————————————
找了很多原因,根源因该是源不对,换源的时候都提示“下载软件仓库信息失败,检查网络连接”,
可是我的网络一点问题都没有。
试着换了中国的服务器,主服务器还是不行,还是提示下载失败。(最后成功的时候默认的是主服务器)
试了网上的另一个命令“sudo apt-get install wine”
并且在软件和更新的其他软件中删除了一些错误的选项。
接着执行ros的安装,
出现错误:
下列软件包有未满足的依赖关系: ros-kinetic-desktop-full : 依赖: ros-kinetic-desktop 但是它将不会被安装
执行下述指令:
sudo apt-get update
sudo apt-get install ros-kinetic-desktop ros-kinetic-desktop ros-kinetic-perception ros-kinetic-perception ros-kinetic-simulators
此时再“sudo apt-get install ros-kinetic-desktop-full”
会显示新安装啦2个软件包。
继续走ROS安装流程。成功啦!!!感恩的心。
血的教训,系统提示你自动删除可以不用的软件包来释放内存的时候,一定!不要!删!血得教训。