Ruby on rails 将libsass与Rails资产管道一起使用
我正在尝试让libsass与Rails 4资产管道一起工作。到目前为止,我已经将Gem从Github克隆到应用程序的Vendor文件夹中。我将以下内容添加到我的GEM文件中:Ruby on rails 将libsass与Rails资产管道一起使用,ruby-on-rails,ruby,sass,libsass,Ruby On Rails,Ruby,Sass,Libsass,我正在尝试让libsass与Rails 4资产管道一起工作。到目前为止,我已经将Gem从Github克隆到应用程序的Vendor文件夹中。我将以下内容添加到我的GEM文件中: gem 'sassc', path: 'vendor/ruby-libsass/' 然后,我按照文档添加了libsas的子模块。在libsass文件夹中,我必须在库中克隆它才能编译。我用makeinstallshared编译了它,它创建了/usr/local/lib/libsass.so。在此之后,运行rake asse
gem 'sassc', path: 'vendor/ruby-libsass/'
然后,我按照文档添加了libsas的子模块。在libsass文件夹中,我必须在库中克隆它才能编译。我用makeinstallshared
编译了它,它创建了/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
。之后,我收到了以下错误:
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
name错误:未初始化的常量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秒钟,无论是否向我的文件添加libsas。由于初始编译给出了一个与找不到libsass.dylib文件相关的错误,我假设它实际上使用的是sassc而不是sass,但看起来不是
你知道我会错过什么吗?我没有使用C的经验,所以我甚至不确定我是否正确编译了所有内容,等等。对,多亏了!该项目仍然是一个在制品,可以有几个支持者参与。:)
我遇到的唯一问题是,您需要从项目中完全删除
sass-rails
,如果您使用像ActiveAdmin这样的gems,这可能是一个问题。不过,还有一些变通办法。然后,使用@import
包含在您的scss文件中的普通css文件需要在导入文件名的末尾添加.css
。这家伙过去一直在使用它,看起来他必须使用sass rails:incontext.rb
,将以下内容添加到顶部:require\u relative'sass\u options'
。谢谢,我会在有时间的时候试一试,看看这是否有什么不同。我认为问题更多的是编译后的库没有被使用。@ConstantTM它有用吗?还不知道。与初创企业有关,目前没有太多时间处理这些事情。:)