【问题标题】:uncss Error: C.UTF-8: not a valid language taguncss 错误:C.UTF-8:不是有效的语言标签
【发布时间】:2015-04-22 21:45:46
【问题描述】:

您好,我第一次尝试使用 UNCSS 从 CSS 中删除未使用的样式,但出现以下错误:

Fontconfig 警告:忽略 C.UTF-8:不是有效的语言标签

/home/ubuntu/.nvm/v0.10.35/lib/node_modules/uncss/node_modules/bluebird/js/main/async.js:43 fn = 函数 () { 抛出 arg; }; ^ 错误:Fontconfig 警告:忽略 C.UTF-8:不是有效的语言标签

at Socket.onStderr (/home/ubuntu/.nvm/v0.10.35/lib/node_modules/uncss/node_modules/phridge/lib/spawn.js:79:28)
at Socket.emit (events.js:117:20)
at Socket.<anonymous> (_stream_readable.js:765:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:427:10)
at emitReadable (_stream_readable.js:423:5)
at readableAddChunk (_stream_readable.js:166:9)
at Socket.Readable.push (_stream_readable.js:128:10)
at Pipe.onread (net.js:529:21)

我什至尝试过使用 Gulp,我一直在寻找解决方案,但我不了解修复它的输出。

任何解决此问题的帮助将不胜感激。

-j

【问题讨论】:

    标签: css node.js phantomjs uncss gulp-uncss


    【解决方案1】:

    这是由于 fontconfig 中的一个错误。据称该错误已在 2013 年修复,因此不太可能从这方面获得帮助。

    但是,您可以更改为不同的语言环境而不是 C.UTF-8:

    $ sudo locale-gen en_US en_US.UTF-8
    $ sudo dpkg-reconfigure locales
    $ sudo update-locale LANG=en_US
    

    您可以使用该命令检查一切是否正常:

    $ locale
    
    LANG=en_US.UTF-8
    LANGUAGE=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=en_US.UTF-8
    

    如果您还没有:

    $ npm install -g uncss
    

    现在一切正常:

    $ uncss http://yoururl.com > style.css
    

    【讨论】:

    • 一条错误消息可能会有所帮助。不要表现得像 DAU。
    • 没有错误信息。就在我检查它是否有效时,它没有。
    • @ooo 也许问题是您需要注销并重新登录。在我这样做之前我没有看到任何变化。
    • @JohannesMariaFrank 我认为最后一行 sudo 应该是“sudo update-locale LANG=en_US.UTF-8”。如果最后没有 UTF-8,我会收到行格式显示错误,因为我的提示符包含 UTF-8 字符。
    【解决方案2】:
    LC_ALL=en_US.utf8
    

    我有同样的错误。键入这一行即可解决错误。

    我在我的语言环境列表locale -a 中找到了 en_US.utf8,如那里所述:https://help.ubuntu.com/community/Locale

    (这是暂时的改变,不是永久的)

    【讨论】:

    • 命令是:locale -a 不是locales -a。只有当你生成了这个语言环境时它才有效,这并不总是得到保证。
    猜你喜欢
    • 2019-09-04
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多