解決問題命令:
sudo rm -rf $HOME/.ros/rosdep
sudo rm -rf /etc/ros/rosdep```
然后重新安裝rosdep
sudo apt-get install python-rosdep
sudo rosdep init
rosdep update```
問題猜測(cè):在出現(xiàn)最開始錯(cuò)誤之前唉地,執(zhí)行了** sudo rosdep update **命令碎赢。所以我猜測(cè)是因?yàn)闄?quán)限混亂造成的問題拱礁。
詳細(xì)內(nèi)容
早先執(zhí)行下面launch命令,可運(yùn)行成功
roslaunch rosbridge_server rosbridge_websocket.launch```
會(huì)啟動(dòng)下面兩個(gè)節(jié)點(diǎn):

但是只有rosbridge_websocket運(yùn)行起來了在验,rosapi節(jié)點(diǎn)沒有運(yùn)行,報(bào)如下錯(cuò)誤:
Traceback (most recent call last):
File "/opt/ros/indigo/lib/rosapi/rosapi_node", line 36, in <module>
from rosapi import proxy, objectutils, params
File "/opt/ros/indigo/lib/python2.7/dist-packages/rosapi/proxy.py", line 41, in <module>
from ros import rosnode, rosgraph
File "/opt/ros/indigo/lib/python2.7/dist-packages/ros/init.py", line 54, in getattr
roslib.load_manifest(name.split('.')[0])
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslib/launcher.py", line 62, in load_manifest
sys.path = _generate_python_path(package_name, _rospack) + sys.path
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslib/launcher.py", line 93, in _generate_python_path
m = rospack.get_manifest(pkg)
File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 167, in get_manifest
return self._load_manifest(name)
File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 211, in _load_manifest
retval = self._manifests[name] = parse_manifest_file(self.get_path(name), self._manifest_name, rospack=self)
File "/usr/lib/python2.7/dist-packages/rospkg/manifest.py", line 412, in parse_manifest_file
_static_rosdep_view = init_rospack_interface()
File "/usr/lib/python2.7/dist-packages/rosdep2/rospack.py", line 58, in init_rospack_interface
lookup = _get_default_RosdepLookup(Options())
File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 127, in _get_default_RosdepLookup
verbose=options.verbose)
File "/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py", line 607, in create_default
sources = load_cached_sources_list(sources_cache_dir=sources_cache_dir, verbose=verbose)
File "/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py", line 504, in load_cached_sources_list
with open(cache_index, 'r') as f:
IOError: [Errno 13] Permission denied: '/home/cherylpan/.ros/rosdep/sources.cache/index' ```
最后一句才是錯(cuò)誤的關(guān)鍵。
嘗試解決辦法:
sudo rm -fr /home/cherylpan/.ros/rosdep/sources.cache
rosdep update```
但是在更新時(shí)出現(xiàn)錯(cuò)誤:
ERROR: Rosdep experienced an error: [Errno 13] Permission denied: '/home/cherylpan/.ros/rosdep/sources.cache'
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.11.5
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 136, in rosdep_main
exit_code = _rosdep_main(args)
File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 351, in _rosdep_main
return _no_args_handler(command, parser, options, args)
File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 359, in _no_args_handler
return command_handlerscommand
File "/usr/lib/python2.7/dist-packages/rosdep2/main.py", line 545, in command_update
error_handler=update_error_handler)
File "/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py", line 453, in update_sources_list
retval.append((source, write_cache_file(sources_cache_dir, source.url, rosdep_data)))
File "/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py", line 531, in write_cache_file
os.makedirs(source_cache_d)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/cherylpan/.ros/rosdep/sources.cache' ```
還是沒有解決開始問題,出現(xiàn)了rosdep update更新錯(cuò)誤捌刮。
解決辦法:
sudo rm -rf $HOME/.ros/rosdep
sudo rm -rf /etc/ros/rosdep```
然后重新安裝rosdep
sudo apt-get install python-rosdep
sudo rosdep init
rosdep update```
注意:第三步,一定不要使用sudo 來執(zhí)行rosdep update舒岸,這是不被允許的糊啡,并且會(huì)導(dǎo)致權(quán)限錯(cuò)誤。詳細(xì)請(qǐng)看官網(wǎng):點(diǎn)擊打開鏈接
還有網(wǎng)友直接運(yùn)行下面命令來解決最初的問題吁津,但是我沒有嘗試,不知道是否可行:
sudo chmod 777 -R ~/.ros/```