今天学习ros21讲第10讲,在照着教程输入:
$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun learning_topic velocity_publisher
但是输入最后一句后(learning_topic是我自己创造的功能包),有如下报错:
[rospack] Error: package 'learning_service' not found
经查询,发现只有在同一个终端执行source devel/setup.bash
与rosrun
命令时,才能成功运行(即source只在自己的cmd生效),不能另外开一个新终端。而且如果我们要新开另一个节点,也需要重新用source指令配置环境。
所以解决方法有两个:
- source 和 rosrun在同一个终端执行
- 运行
sudo gedit ~/.bashrc
在最后添加:
source /home/cxj/catkin_ws/devel/setup.bash
或
echo "source /home/cxj/catkin_ws/devel/setup.bash" >> ~/.bashrc
(上面的路径根据自己实际情况写,我的工作空间是/home/cxj/catkin_ws中)