1

我似乎无法让 Sublime Text 2 的Yui Compressor插件正常工作,并且不断收到如下错误:

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:\Users\Nikola Brežnjak\AppData\Roaming\Sublime Text 2\Packages\YUI Compressor\bin\yuicompressor-2.4.7.jar --charset utf-8 --preserve-semi --line-break 150 -o justTesting.min.js C:\Users\Nikola Brežnjak\Desktop\yuicompressor-2.4.7\build\justTesting.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 就会完成它的工作。

4

1 回答 1

3

问题在于我的 Sublime Text 的安装路径 - 请注意我姓氏中的ž字符。

因此,经过大量搜索后,我在这里找到了解决方案,并且正如那里所说,它似乎是exec.py文件中的错误,可以在您的 Sublime Packages 目录中找到(例如:)C:\Users\Nikola Brežnjak\AppData\Roaming\Sublime Text 2\Packages\Default。您必须将第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 压缩插件将完美运行。

于 2012-12-23T22:05:52.060 回答