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
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 –
trong 'context.rb', thêm phần sau vào đầu : 'require_relative 'sass_options''. – glasz
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. –