我似乎不能得到Yui压缩插件Sublime Text 2的工作,并不断得到错误,如:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 19: ordinal not in range(128)
Writing file /C/Users/Nikola Brežnjak/Desktop/yuicompressor-2.4.7/build/justTesting.js with encoding UTF-8
Running java -jar C:UsersNikola BrežnjakAppDataRoamingSublime Text 2PackagesYUI Compressorbinyuicompressor-2.4.7.jar --charset utf-8 --preserve-semi --line-break 150 -o justTesting.min.js C:UsersNikola BrežnjakDesktopyuicompressor-2.4.7buildjustTesting.js
Traceback (most recent call last):
File ".sublime_plugin.py", line 337, in run_
File ".exec.py", line 154, in run
File ".exec.py", line 45, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 19: ordinal not in range(128)
我通过包管理器安装了插件,我确保我已经把java放在我的PATH变量中,如果我通过控制台运行它,YUI Compressor会完成它的工作。
问题出在我的Sublime Text的安装路径上——注意我姓氏中的字符。
所以,经过大量的搜索,我找到了解决方案在这里,正如所说的,它似乎是exec.py
文件中的错误,它可以在你的Sublime Packages目录中找到(例如:C:UsersNikola BrežnjakAppDataRoamingSublime Text 2PackagesDefault
)。您必须将第45行从
更改为:proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
:
proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding())
在此之后你必须保存文件,插件将自动重新加载,然后YUI压缩器插件将完美地工作。