无效的US-ASCII字符使用SASS

我正在使用grunt,grunt-contrib-sass和angular度材质。 添加angular度材质后,构build在CI过程(BitBucket Pipelines)中开始失败。 错误是:

Invalid US-ASCII character "\xE2" online 4242 of bower_components/angular-material/angular-material.scss

我所读到的关于解决这个问题的一切都包括将编码设置在SASS文件的顶部,但是由于它是在构build过程中通过bower安装的,所以这是不合理的。 我曾尝试将其添加到我的主要scss文件的angular度材料导入的顶部,但这不起作用。

我正在使用一台电脑,并在当地正常工作。 我正在使用starefossen/ruby-node:latest映像starefossen/ruby-node:latest CI的starefossen/ruby-node:latest ,它是失败的地方。 以下是pipe道中的构build脚本:

npm install npm install -g bower bower install --allow-root npm install -g grunt-cli gem install sass grunt test grunt build

这安装了Sass 3.4.22。

你使用的是Mac吗? 你用什么版本的Sass?

还发现这个,可能有帮助:

 Just add this line to top of config.rb Encoding.default_external = "utf-8" 

用这种或那种方式更改文件编码可能会工作。

你也可以检查你的material.scss(在4242行看起来像)或你添加的代码并replace可疑的字符。

\ xe2通常是一个字符,或者 – 与键盘input的ascii不同。 如果从网上复制粘贴,通常会input您的代码。

在你新添加的代码中,用键盘input的字母replace非字母字符,它应该可以工作。

Interesting Posts