首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails资产管道中使用libsass

在Rails资产管道中使用libsass
EN

Stack Overflow用户
提问于 2014-11-01 11:02:12
回答 1查看 2.8K关注 0票数 11

我试图让libsass使用Rails 4资产管道。到目前为止,我已经将红宝石 Gem从Github克隆到应用程序的Vendor文件夹中。我在我的宝石文件中添加了以下内容:

代码语言:javascript
复制
gem 'sassc', path: 'vendor/ruby-libsass/'

然后,我跟踪文档并为libsass添加了子模块。在libsass文件夹中,为了编译,我必须在sass2scss库中克隆。我用make install-shared编译它,它创建了/usr/local/lib/libsass.so。在此之后,运行rake assets:precompile会产生以下错误:

代码语言:javascript
复制
rake aborted!
LoadError: Could not open library 'sass': dlopen(sass, 5): image not found.
Could not open library 'libsass.dylib': dlopen(libsass.dylib, 5): image not found

所以我把libsass.dylib/usr/local/lib/libsass.dylib联系起来了。在此之后,我收到了以下错误:

NameError: uninitialized constant SassC::Lib::Context::SassOptions

我试着在/ruby-libsass/lib/sassc/lib/context.rb中注释调用SassOptions的行,这似乎使其工作并编译了资产。第20行中注释掉的代码,context.rb:

代码语言:javascript
复制
layout :source_string, :pointer,
  :output_string, :string,
  # :options, SassOptions,
  :error_status, :int,
  :error_message, :string,
  :c_functions, :pointer,
  :included_files, :pointer,
  :num_included_files, :int`

现在,我遇到的问题是,我没有看到速度的差别。在编译我的资产时,它停留在7秒左右,不管是否将libsass添加到我的Gemfile。由于最初的编译给出了一个与未找到的libsass.dylib文件有关的错误,所以我假设它实际上是使用sassc而不是sass,但看起来并非如此。

知道我可能错过了什么吗?我没有使用C的经验,所以我甚至不确定我是否正确地编译了所有东西,等等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-10 07:40:43

是的,多亏了这块宝石,我终于让它发挥作用了!该项目仍然是一个WIP,可以与少数支持者。:)

我遇到的唯一问题是,您需要从项目中完全删除sass-rails,如果您使用像ActiveAdmin这样的gems,这可能是一个问题。不过,还是有解决办法的。然后,包含在带有@import的scss文件中的普通css文件需要在导入的文件名末尾有.css

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26688631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档