一、报错原因
这个问题是因为在历史编译中,你已经删除的包被包含进过 AMENT_PREFIX_PATH或者CMAKE_PREFIX_PATH,这时你再删除build和install文件目录里面的包名称文件时,就会出现如下报错:
报错一:
WARNING:colcon.colcon_ros.prefix_path.ament:The path '/xx/xx' in the environment variable AMENT_PREFIX_PATH doesn't exist
报错二:
WARNING:colcon.colcon_ros.prefix_path.ament:The path '/xx/xx' in the environment variable CMAKE_PREFIX_PATH doesn't exist
二、解决方法
报错一:
printenv AMENT_PREFIX_PATH
你会发现打印出来的路径里还存在已经删除的包的路径。
AMENT_PREFIX_PATH=删除无效变量后余下的AMENT_PREFIX_PATH里的变量
直接重新给环境变量赋值现有路径就ok了。
报错二:
printenv CMAKE_PREFIX_PATH
同理
CMAKE_PREFIX_PATH=删除无效变量后余下的AMENT_PREFIX_PATH里的变量