我試圖讓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