项目场景:
ubuntu18.04下,查看package的依赖包遇到的如下问题:
#创建ros功能包beginner_tutorials
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
$ roscd beginner_tutorials
roscd: No such package/stack 'beginner_tutorials'
解决方法:
手动导入功能包路径
$ export ROS_PACKAGE_PATH=~/catkin_ws/src
$ roscd beginner_tutorials
#roscd没问题,测试rospack
$ rospack depends1 beginner_tutorials
[rospack] Error: package 'beginner_tutorials' depends on non-existent package 'roscpp' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'
出现错误,依赖项roscpp等没有声明
解决方法:
$ source ~/catkin_ws/devel/setup.bash
$ rospack depends beginner_tutorials
cpp_common
rostime
roscpp_traits
roscpp_serialization
catkin
完美解决
解决方案:
ros创建功能包后,首先手动导入包的路径,然后source下setup.bash
$ export ROS_PACKAGE_PATH=~/catkin_ws/src
$ source ~/catkin_ws/devel/setup.bash