2014-11-01 17 views
11

Tôi đang cố gắng để libsass hoạt động với đường dẫn nội dung Rails 4. Cho đến nay tôi đã nhân bản Đá quý ruby-libsass từ Github vào thư mục Nhà cung cấp của ứng dụng của tôi. Tôi đã thêm followig vào gemfile của tôi:Sử dụng libsass với đường ống nội dung Rails

gem 'sassc', path: 'vendor/ruby-libsass/' 

Sau đó tôi đã theo dõi tài liệu và thêm các mô-đun con cho libsass. Trong thư mục libsass, tôi phải sao chép vào thư viện sass2scss để nó biên dịch. Tôi đã biên soạn nó với make install-shared đã tạo ra /usr/local/lib/libsass.so. Sau đó, chạy rake assets:precompile cung cấp cho các lỗi sau:

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 

Vì vậy, tôi symlinked libsass.dylib này để /usr/local/lib/libsass.dylib. Sau đó, tôi nhận được lỗi sau:

NameError: uninitialized constant SassC::Lib::Context::SassOptions

tôi đã cố gắng cho ý kiến ​​ra đường trong /ruby-libsass/lib/sassc/lib/context.rb mà các cuộc gọi SassOptions, và điều đó dường như đã làm cho nó làm việc và biên soạn tài sản. Đã nhận xét mã trên dòng 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` 

Bây giờ, vấn đề tôi gặp phải là tôi không thấy sự khác biệt về tốc độ. Nó vẫn ở khoảng 7 giây để biên dịch tài sản của tôi, có hoặc không thêm libsass vào Gemfile của tôi. Kể từ khi biên dịch ban đầu đã cho một lỗi liên quan đến tập tin libsass.dylib tot không được tìm thấy, tôi giả định rằng nó thực sự sử dụng sassc thay vì sass, nhưng có vẻ như nó không phải là.

Bất kỳ ý tưởng nào tôi có thể bị thiếu? Tôi không có kinh nghiệm với C, vì vậy tôi thậm chí không chắc chắn nếu tôi biên soạn tất cả mọi thứ một cách chính xác, vv

+0

anh chàng này đã làm việc trong quá khứ, có vẻ như anh ta phải ngã ba đường ray sass-ray: https://github.com/andrew/libsass-rails –

+0

trong 'context.rb', thêm phần sau vào đầu : 'require_relative 'sass_options''. – glasz

+0

Cảm ơn tôi sẽ cung cấp cho nó một đi khi tôi có một phút và xem nếu điều đó làm cho bất kỳ sự khác biệt. Tôi nghĩ rằng vấn đề là nhiều hơn rằng các thư viện biên dịch không được sử dụng. –

Trả lời

1

Phải, cuối cùng tôi đã nhận được nó làm việc nhờ this gem! Dự án vẫn là WIP và có thể thực hiện với một vài người ủng hộ. :)

Chỉ vấn đề tôi gặp phải là bạn cần xóa hoàn toàn sass-rails khỏi dự án của mình, điều này có thể là vấn đề nếu bạn sử dụng đá quý như ActiveAdmin. Có cách giải quyết mặc dù. Sau đó, các tệp css thuần túy được đưa vào tệp scss của bạn với @import cần phải có .css ở cuối tên tệp trong quá trình nhập.

Các vấn đề liên quan