我有一个Rails应用,尝试运行rake assets:precompile
时遇到奇怪的错误。看起来像这样:
rake aborted!
Invalid US-ASCII character "\xE2"
(in /Users/lee/Code/draper/app/assets/stylesheets/application.css.scss)
(sass):9
我不确定无效字符可能会插入我的代码中。我正在使用Twitter Bootstrap(boostrap-sass gem),而我的
bootstrap_and_overrides.css.scss
文件似乎是罪魁祸首。我已经尝试过在文本伴侣中从头开始重新创建此文件,以消除所有奇怪的字符,但这种方法不起作用。似乎唯一起作用的就是将其添加到我的bootstrap_and_overrides.css.scss
顶部:@charset "UTF-8";
这使我可以运行rake asset:precompile,然后将其部署到Heroku,但这似乎是一个hack和一个肮脏的修复程序。我可以将其他使用bootstrap-sass的应用程序部署到Heroku中,并且Heroku能够在部署时运行rake asset:precompile。现在解决该问题的唯一方法是包括
@charset "UTF-8";
,然后在部署到Heroku之前在本地运行rake assets:precompile
,以便在部署过程中跳过该步骤。我不知道这是哪里出了问题。
最佳答案
检查您的CSS文件。字符\xE2
通常与不属于ASCII字符集的双引号字符相关。在编辑器中,它们通常看起来像是更倾斜的双引号。 “mystring”
与"mystring"
使用@charset
声明不是一个技巧,但是如果您不需要使用UTF-8字符,则最好将其删除。