我正在尝试在Oracle VirtualBox上运行的Linux上this link之后构建 XTK 以获得非缩小xtk.js
。当我尝试在运行xtk-deps.js
文件时生成deps.py
时出现以下错误:
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.
有人可以解释为什么会出现这个错误。
答案 0 :(得分:0)
你的代码中可能有一些非uft8字符(很可能是 X.js )。
以我的经验为例,在XTK的 X.js 中,我发现第210行中有一个非英语单词(可能是德语或法语名称)。我所做的是删除该字符并再次运行build.py.编码错误没有再出现。
答案 1 :(得分:0)
对我来说有用的是我之前使用google closure library提交XTK来构建here并且效果很好。
我不得不广泛搜索XTK的提交历史,以了解他们使用哪个版本的闭包库来构建它。
PS:早些时候我发布了类似的解决方案here。但该帖子被主持人删除了,所以再次在这里分享。