来自 google 闭包库的 运行 depswriter.py 时出错

Error while running depswriter.py from google closure library

我正在尝试在 Oracle VirtualBox 上 Linux 运行 上 this link 之后构建 XTK 以获得非缩小 xtk.js.当我尝试在 运行 deps.py 文件上生成 xtk-deps.js 时出现以下错误:

Generating dependency file for XTK...
Traceback (most recent call last):
File "/root/Downloads/X-master/lib/google-closure-library/closure/bin/build/depswriter.py", line 212, in <module>
main()
File "/root/Downloads/X-master/lib/google-closure-library/closure/bin/build/depswriter.py", line 196, in main
path_to_source[depspath] = source.Source(source.GetFileContents(srcpath))
File "/root/Downloads/X-master/lib/google-closure-library/closure/bin/build/source.py", line 126, in GetFileContents
return fileobj.read()
File "/usr/lib/python2.7/codecs.py", line 668, in read
return self.reader.read(size)
File "/usr/lib/python2.7/codecs.py", line 474, in read
newchars, decodedbytes = self.decode(data, self.errors)
File "/usr/lib/python2.7/encodings/utf_8_sig.py", line 104, in decode
return codecs.utf_8_decode(input, errors)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9a in position 4584: invalid start byte
Could not generate dependency file.  

任何人都可以解释为什么会出现此错误。

您的代码中可能有一些非 uft8 字符(很可能在 X.js 中)。

以我的经验为例,在XTK的X.js中,我发现有一个non-English字(可能是德语或法语名字)第 210 行。我所做的是再次删除字符和 运行 build.py。编码错误没有再出现。

对我有用的是我使用了 google closure library for building XTK 的早期提交并且它工作得很好。
我不得不广泛搜索 XTK 的提交历史,以了解他们使用哪个版本的闭包库来构建它。

PS:早些时候我post编辑了类似的解决方案here。但是 post 被版主删除了所以再次在这里分享。