2011-01-09 22 views
7

Przygotowuję projekt, który używa SASS, który używa FSEvents, aby nie odpytywać dysku. Wygląda jednak na to, że nie gra to jednak przyjemnie z RVM. Oznacza to, że gdy uruchamiam sass --watch mam to ostrzeżenie:RVM, FSEvents i CarbonCore na OS X

Warning: Unable to load CarbonCore. FSEvents will be unavailable.

Zdaję sobie sprawę, że będzie nadal działać, ale nie chcę być ciągle sondowania mój dysk. Chcę, żeby działała z FSEvents. Najlepszym mogę znaleźć informacje o tym był ten wątek:

http://groups.google.com/group/compass-users/browse_thread/thread/df7d9d0da9ec1eb1

mogę ponownie zainstalować moje RVM (przy użyciu Ruby 1.9.2), jak opisano przez Brandon Mathis i pobraniu umieszczonego RubyCocoa. Jednakże pojawia się błąd na pierwszym etapie instalacji RubyCocoa:

[rvm 1.9.2] ~/Downloads/RubyCocoa-1.0.0 $ ruby install.rb config --build-universal=yes 
install.rb: entering config phase... 
create ext/rubycocoa/extconf.rb 
create framework/GeneratedConfig.xcconfig 
create framework/src/objc/Version.h 
create tests/Makefile 
---> framework 
create /Users/xxx/Downloads/RubyCocoa-1.0.0/framework/src/objc/osx_ruby.h ... 
config failed 
hook /Users/xxx/Downloads/RubyCocoa-1.0.0/framework/post-config.rb failed: 
No such file or directory - /Users/xxx/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/x86_64-darwin10.6.0/ruby.h 
try 'ruby install.rb --help' for usage 

Wygląda jak problem wynika z tego jest starsza wersja RubyCocoa (zauważam brakujący plik ma 1.9.1 w ścieżce) ale w poście Google Groups Brandon Mathis mówi, że używa wersji, którą łączy, a nie najnowszej.

Czy ktoś wie, jak to skonfigurować, lub ma link do najnowszego, miejmy nadzieję prostszego i jaśniejszego przewodnika do uzyskania FSEvents pracy z RVM?

Wersje w pytaniu:

  • RVM 1.2.0
  • Ruby 1.9.2 poziom poprawki 136 (zainstalowany przez RVM)
  • Mac OS X 10.6.6
  • haml gem 3.0.25 (SASS jest częścią HAML)

Dzięki!

Odpowiedz

10

Napisałem FSSM, czyli to, co HAML/SASS/Compass wykorzystuje dla swojego systemu plików oglądającego backend. Podczas gdy rubikocoa nie jest obsługiwane w wersji 1.9.x, najnowsza wersja FSSM dla git ma dość solidną obsługę rb-fsevent. Ta biblioteka ma obecnie inne ograniczenia, takie jak możliwość monitorowania tylko jednej ścieżki (katalog macierzysty jest koniecznością tutaj), ale pracuję nad nią. ;)

Goraco sugerujemy zainstalowanie RB-fsevent, a następnie FSSM z github: https://github.com/ttilley/fssm

Jeśli masz jakiekolwiek problemy, prosimy zgłosić problem w trackera. FSSM jest obecnie prowadzonym projektem i został napisany, by pomóc Chrisowi Eppsteinowi w dostarczaniu funkcjonalności zegarka w kompasie (który później został zaadoptowany w samym programie Sass). Łatwość korzystania z tych bibliotek jest moim absolutnym priorytetem.

+0

Niesamowite, dziękuję za poinformowanie mnie o tym! Właśnie ukradłeś czek. –

1

To rodzaj zagubionej bitwy. Możesz skopiować zawartość folderu include/ruby ​​z kodu źródłowego Ruby do tej lokalizacji /Users/xxx/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/x86_64-darwin10.6.0/które pozwoli ci uruchomić polecenie config, ale po tym dostaniesz dużo błędów w komendzie instalacyjnej i nie będziesz w stanie zainstalować wszystkiego. Ludzie mówią, że RubyCocoa nie działa z wersją 1.9.2 i nie wiem, czy komuś udało się to zrobić.

+0

Hmm ... to nie jest dobra wiadomość, jeśli to prawda. Musi być to możliwe, ponieważ autotest/fsevent nadal działa w wersji 1.9.2. –

0

Próbowałem powyższej metody FSSM, bezskutecznie ...

Gemfile ma teraz:

group :development do 
    gem 'rb-fsevent' 
    gem 'fssm', :git => 'https://github.com/ttilley/fssm.git' 
end 

który instaluje: fssm (0.2.6.1) RB-fsevent (0.4.0)

Wciąż otrzymuję ten tho: OSTRZEŻENIE: nie można załadować carboncore . FSEvents będą niedostępne.

Czy ktoś ma kroki instalacyjne, aby FSSM działał dobrze?

+0

Spójrz na strażnika. Właśnie tego teraz używam. https://github.com/guard/guard –

+1

W moim przypadku musiałem odinstaluj klejnot deszyk, następnie klejnot zainstalować haml, klejnot zainstalować sass, klejnot zainstalować rb-fsevent, klejnot zainstalować fssm i wszystko było dobrze. –