2014-11-01 5 views
11

libsass를 Rails 4 자산 파이프 라인과 함께 사용하려고합니다. 지금까지 Github에서 ruby-libsass Gem을 내 응용 프로그램의 Vendor 폴더로 복제했습니다. 나는 내 gemfile에 followig를 추가했다 :레일스 자산 파이프 라인에서 libsass 사용

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

나는 그 다음에 문서를 따라 libsass에 대한 서브 모듈을 추가했다. libsass 폴더 내에서 컴파일하려면 sass2scss 라이브러리에서 복제해야했습니다. 나는 /usr/local/lib/libsass.so을 만든 make install-shared으로 컴파일했다.

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 

그래서 내가 /usr/local/lib/libsass.dyliblibsass.dylib이 심볼릭 링크 :이 후, rake assets:precompile를 실행하면 다음과 같은 오류를 제공합니다. 그 후, 나는 다음과 같은 오류 접수 :

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

내가 SassOptions를 호출 /ruby-libsass/lib/sassc/lib/context.rb의 라인을 주석 노력을하고, 그 작동과 자산을 컴파일 만든 것 같았다. 20 행의 context.rb에 주석 처리 된 코드 :

이제 문제는 속도 차이가 없다는 것입니다. 내 Gemfile에 libsass를 추가하거나 추가하지 않고 자산을 컴파일하는 데 약 7 초가 걸립니다. 초기 컴파일 결과 libsass.dylib 파일을 찾을 수 없다는 오류가 발생했기 때문에 실제로 sassc 대신 sass를 사용한다고 가정했으나 그렇지 않은 것처럼 보입니다.

내가 누락 될 수있는 아이디어가 있습니까? 나는 C에 대한 경험이 없기 때문에, 모든 것을 정확하게 컴파일했는지 확신 할 수 없다.

+0

이 녀석은 과거에 작동 했었는데, 'context.rb'에 https://github.com/andrew/libsass-rails –

+0

의 새시 레일을 포크해야만했던 것처럼 보였습니다. 다음을 맨 위에 추가하십시오 :'require_relative 'sass_options''. – glasz

+0

감사합니다. 잠시 시간을내어 차이가 있는지 확인해 보겠습니다. 문제는 컴파일 된 라이브러리가 사용되지 않는다는 것입니다. –

답변

1

맞아, 나는 결국 this gem 덕분에 일하고있다. 이 프로젝트는 여전히 WIP이며, 몇몇 지지자들과 함께 할 수 있습니다. :)

내가 만난 문제는 프로젝트에서 sass-rails을 완전히 제거해야한다는 것입니다. ActiveAdmin과 같은 보석을 사용하면 문제가 될 수 있습니다. 그러나 해결 방법이 있습니다. 그런 다음 @import으로 scss 파일에 포함 된 일반 CSS 파일은 가져 오기에서 파일 이름 끝에 .css이 있어야합니다.

관련 문제