我试图让libsass与Rails 4资产管道的工作。到目前为止,我已经克隆了Github上ruby-libsass宝石到我的应用程序供应商的文件夹。我将followig添加到我的gemfile中:使用libsass使用Rails资产管道
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中。由于初始编译了一个有关错误TOT libsass.dylib文件不被发现,我认为它实际上是用sassc代替青菜,但看起来事实并非如此。
任何想法我可能会错过?我使用C没有经验,所以我甚至不知道我是否正确编译的一切,等
这个人在过去工作过,看起来他必须在'context.rb'中添加sass-rails:https://github.com/andrew/libsass-rails – 2014-11-14 16:39:05
,将以下内容添加到顶部:'require_relative'sass_options''。 – glasz 2015-01-14 21:19:35
谢谢,当我有一分钟时,我会给它一个去看看是否有任何改变。我认为问题更多的是编译的库不会被使用。 – 2015-01-21 09:55:51