我试图让libsass使用Rails 4资产管道。到目前为止,我已经将红宝石 Gem从Github克隆到应用程序的Vendor文件夹中。我在我的宝石文件中添加了以下内容:
gem 'sassc', path: 'vendor/ruby-libsass/'然后,我跟踪文档并为libsass添加了子模块。在libsass文件夹中,为了编译,我必须在sass2scss库中克隆。我用make install-shared编译它,它创建了/usr/local/lib/libsass.so。在此之后,运行rake assets:precompile会产生以下错误:
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:
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的经验,所以我甚至不确定我是否正确地编译了所有东西,等等。
发布于 2015-04-10 07:40:43
是的,多亏了这块宝石,我终于让它发挥作用了!该项目仍然是一个WIP,可以与少数支持者。:)
我遇到的唯一问题是,您需要从项目中完全删除sass-rails,如果您使用像ActiveAdmin这样的gems,这可能是一个问题。不过,还是有解决办法的。然后,包含在带有@import的scss文件中的普通css文件需要在导入的文件名末尾有.css。
https://stackoverflow.com/questions/26688631
复制相似问题