0

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

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

我所读到的关于解决这个问题的所有内容都涉及在 SASS 文件的顶部设置编码,但由于它是在构建过程中通过 bower 安装的,所以这是不合理的。我确实尝试将它添加到我的主要 scss 文件的顶部,其中导入了角度材料,但这不起作用。

我正在使用 PC,它在本地运行良好。我正在starefossen/ruby-node:latest为 CI 使用 docker 映像,但它失败了。这是管道中的构建脚本:

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。

4

3 回答 3

2

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

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

Just add this line to top of config.rb
Encoding.default_external = "utf-8"
于 2017-04-26T14:22:19.150 回答
0

以一种或另一种方式更改文件编码可能会起作用。

您还可以检查您的 material.scss (它看起来像在第 4242 行)或您添加的代码并替换可疑字符..

\xe2 通常是一个类似 , 或 - 但与键盘输入的 ascii 不同的字符。如果您从网上复制粘贴,这些通常会输入您的代码。

在您新添加的代码中,用键盘键入的字符替换非字母字符,它应该可以工作。

于 2017-04-26T14:28:00.117 回答
0

正如 rrd所写

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

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

只需将此行添加到 config.rb Encoding.default_external = "utf-8" 的顶部

我遇到了同样的字符集问题。

特别是在 OSX 上,ruby 编码设置似乎存在问题。

我修复了它,在主项目目录中创建了一个 config.rb 文件,以明确告诉 ruby​​ 它应该使用哪种字符集编码。由于 sass 和 compass 依赖于 ruby​​,这很有可能会解决您的问题。

Encoding.default_external = 'utf-8'
于 2020-04-08T12:31:09.693 回答