Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将libsass与Rails资产管道一起使用_Ruby On Rails_Ruby_Sass_Libsass - Fatal编程技术网

Ruby on rails 将libsass与Rails资产管道一起使用

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

我正在尝试让libsass与Rails 4资产管道一起工作。到目前为止,我已经将Gem从Github克隆到应用程序的Vendor文件夹中。我将以下内容添加到我的GEM文件中:

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:in
context.rb
,将以下内容添加到顶部:
require\u relative'sass\u options'
。谢谢,我会在有时间的时候试一试,看看这是否有什么不同。我认为问题更多的是编译后的库没有被使用。@ConstantTM它有用吗?还不知道。与初创企业有关,目前没有太多时间处理这些事情。:)