起因:用以下命令创建功能包时,显示无catkin_create_pkg
catkin_create_pkg test_pkg std_msgs rospy roscpp
问题分析:catkin_create_pkg来源于python3-catkin-pkg,但我安装了python3-catkin-pkg,最后确定是catkin和python3-catkin-pkg版本不匹配导致
尝试解决:删除python3-catkin-pkg,降低版本,重装catkin
sudo apt update
sudo apt remove python3-catkin-pkg
sudo apt remove python3-catkin-pkg-modules
sudo apt install python3-catkin-pkg=0.4.16-1
sudo apt install catkin
最后:执行以上命令后,再执行最初的命令,可以创建功能包,但是新的问题来了。
问题:此时缺少roscpp和rospy两个包。分别执行以下命令安装,第一行命令可正常执行,但第二行命令就出现了错误
sudo apt-get install ros-noetic-roscpp
sudo apt-get install ros-noetic-rospy
错误:
下列软件包有未满足的依赖关系:
python3-rosdep-modules : 依赖: python3-catkin-pkg-modules (>= 0.4.0) 但是它将不会被安装
python3-rosdistro-modules : 依赖: python3-catkin-pkg-modules 但是它将不会被安装
python3-rospkg-modules : 依赖: python3-catkin-pkg-modules 但是它将不会被安装
ros-noetic-rospack : 依赖: python3-catkin-pkg-modules 但是它将不会被安装
问题分析:主要是上述操作中 sudo apt remove python3-catkin-pkg-modules导致缺少一些依赖。但系统提示的方法sudo apt --fix-broken install无法解决。
解决:
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bk
sudo mkdir /var/lib/dpkg/info
sudo apt-get update
sudo apt-get install -f
?
?