环境
联想thinkbook14+
ubuntu20.04
系统同时安装了ros(noetic)和ros2(foxy)。
在这里宣传一下 鱼香ROS(http://fishros.com),其中的一键安装功能十分好用,无脑安装ROS,ROS2,unbutnu系统下的VScode...
问题
照着教程在终端输入
$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun learning_topic velocity_publisher
在输入最后的一句命令后,出现如下报错
[rospack] Error: package ‘learning_topic‘ not found
经查询发现,source只在自己的cmd生效(只有在同一个终端执行source devel/setup.bash
与rosrun
命令时,才能成功运行),不能另外开一个新终端。新开另一个节点,也需要重新用source指令配置环境。
解决办法
打开files,按住ctrl+H,显示隐藏文件,打开.bashrc文件,由于我安装了两个系统,所以我的文件的最后一段是这样的:
# >>> fishros initialize >>>
echo "ros:foxy(1) noetic(2) ?"
read choose
case $choose in
1) source /opt/ros/foxy/setup.bash;;
2) source /opt/ros/noetic/setup.bash;;
esac
# <<< fishros initialize <<<
需要更改为:
# >>> fishros initialize >>>
echo "ros:foxy(1) noetic(2) ?"
read choose
case $choose in
1) source /opt/ros/foxy/setup.bash;;
2) source /opt/ros/noetic/setup.bash;source /home/sy/catkin_ws/devel/setup.bash;;
esac
# <<< fishros initialize <<<
只装了一个ros系统的情况下,直接在文件的最后加上
source /home/sy/catkin_ws/devel/setup.bash