rails and metronic - 资产预编译:SassC 错误,空间不足

Posted

技术标签:

【中文标题】rails and metronic - 资产预编译:SassC 错误,空间不足【英文标题】:rails and metronic - assets precompile: SassC error, not enough space 【发布时间】:2019-07-11 01:32:26 【问题描述】:

我开发了一个基于 bootstrap 的 rails 应用程序。现在我正在使用 Metronic 来改进样式,但是虽然我在开发模式下没有任何问题,但尝试在生产模式下编译资产,我得到了这个错误:

rake 中止! SassC::SyntaxError:内部错误:空间不足 /home/spanogi/.rbenv/versions/2.4.3/bin/bundle:23:in 'load' /home/spanogi/.rbenv/versions/2.4.3/bin/bundle:23:in '' 任务:TOP => 资产:预编译

我发出的命令是

bundle exec rake assets:precompile RAILS_ENV=production

如果我不将 Metronic 资产添加到我的 application.scss 和 application.js 预编译会定期完成。

服务器资源似乎很丰富,我在编译时检查了内存,但它没有超过 30% 的使用量,实际上错误是由 Sassc 内部产生的,而不是由操作系统产生的(这不是内存崩溃)。我在周围寻找类似的错误,但没有任何成功。

你有想法吗?非常感谢您的帮助

【问题讨论】:

【参考方案1】:

我设法让它工作。 我发现在 SassC 包中“没有足够的空间”意味着“没有 UTF-8 编码文件”......(至少在我的情况下)所以我所要做的就是将文件转换为 UTF-8 编码。我使用了这个命令(LINUX):

iconv -f UTF-8 -t ascii//TRANSLIT 文件名 -o output_file_name

然后我不得不从一些“\0”中清除文件,一切正常。

希望这对某人有用!

【讨论】:

【参考方案2】:

我只是从 css 文件中删除 \0 并且运行良好

【讨论】:

以上是关于rails and metronic - 资产预编译:SassC 错误,空间不足的主要内容,如果未能解决你的问题,请参考以下文章

即使资产没有变化,也会发生 Rails 资产预编译

Rails 3 自动资产部署到 Amazon CloudFront?

为啥 Rails 找不到我的资产?

Rails 4.2 不创建非消化资产

Rails:预编译资产缺少节点模块

RAILS 轨道资产:预编译失败