解決:error: Cannot fetch repo (TypeError: expected string or buffer)


同步源碼,問題重現:

 1 Fetching project platform/external/libopus
 2 Fetching project repo
 3 error: Cannot fetch repo (TypeError: expected string or buffer)
 4 Fetching project CyanogenMod/android_external_tinycompress
 5 Exception in thread Thread-230:
 6 Traceback (most recent call last):
 7   File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
 8     self.run()
 9   File "/usr/lib/python2.7/threading.py", line 754, in run
10     self.__target(*self.__args, **self.__kwargs)
11   File "/home/dinphy/sm/.repo/repo/subcmds/sync.py", line 270, in _FetchProjectList
12     success = self._FetchHelper(opt, project, *args, **kwargs)
13   File "/home/dinphy/sm/.repo/repo/subcmds/sync.py", line 314, in _FetchHelper
14     prune=opt.prune)
15   File "/home/dinphy/sm/.repo/repo/project.py", line 1267, in Sync_NetworkHalf
16     no_tags=no_tags, prune=prune)):
17   File "/home/dinphy/sm/.repo/repo/project.py", line 1933, in _RemoteFetch
18     if remote.PreConnectFetch():
19   File "/home/dinphy/sm/.repo/repo/git_config.py", line 605, in PreConnectFetch
20     return _preconnect(connectionUrl)
21   File "/home/dinphy/sm/.repo/repo/git_config.py", line 549, in _preconnect
22     m = URI_ALL.match(url)
23 TypeError: expected string or buffer

分析問題,尋找方案:

1、問題所在:主要是repo的問題,只需要重新下載repo即可。

2、下載repo需要IP代理,http://www.cnblogs.com/dinphy/p/5619854.html

3、終端輸入命令重新下載repo並初始化:

#新建bin目錄
mkdir ~/bin

#指定路徑
PATH=~/bin:$PATH

#下載repo,並移動到bin目錄下
curl https://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

#給repo賦予讀寫權限
chmod a+x ~/bin/repo

4、回到項目的目錄,重新初始化源碼,然后repo sync


5、OK,完美結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM