当我运行时
sudo repo init -u https://github.com/LineageOS/android.git -b lineage-18.1
我收到错误-
File "/home/rahul/android/lineage/.repo/repo/main.py", line 79
file=sys.stderr)
^ SyntaxError: invalid syntax
如果我在没有sudo的情况下运行上面的命令,我会得到以下错误-
/snap/git-repo/18/usr/bin/python: can't open file '/home/rahul/android/lineage/.repo/repo/main.py': [Errno 13] Permission denied
我的系统里有蟒蛇3。
知道怎么修吗?
能否使用终端上的repo --version
命令检查repo的版本,并尝试重新安装repo包?也许是版本的问题。
repo version v2.21
(from https://gerrit.googlesource.com/git-repo)
(tracking refs/heads/stable)
(Wed, 26 Jan 2022 16:46:03 +0000)
repo launcher version 2.21
(from /usr/local/bin/repo)
(currently at 2.21)
repo User-Agent git-repo/2.21 (Darwin) git/2.31.1 Python/3.10.2
git 2.31.1
git User-Agent git/2.31.1 (Darwin) git-repo/2.21
Python 3.10.2 (main, Feb 2 2022, 07:36:01) [Clang 12.0.0 (clang-1200.0.32.29)]
OS Darwin 20.6.0 (Darwin Kernel Version 20.6.0: Wed Jan 12 22:22:42 PST 2022; root:xnu-7195.141.19~2/RELEASE_X86_64)
CPU x86_64 (i386)
如果在mac上:尝试brew重新安装repo,因为它应该可以工作。
看看我自己的系统(Debian 10(,系统安装的repo启动器(apt install repo
(是为python 2设计的,并且需要python 2。但当你初始化一个repo时,它会从谷歌下载一个更新的版本,这个版本需要python 3,但它会被python 2环境运行,并失败。
作为一种变通方法,我一直在从谷歌下载repo
的新版本:
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
然后用启动
python3 ~/bin/repo init ...
另请参阅:https://android.googlesource.com/tools/repo
我更喜欢一个更精简的解决方案,但在我将Linux发行版升级到包含基于Python3的repo
版本之前,我不知道还有什么更好的解决方案。