2011-01-09 22 views
7

Sto configurando un progetto che utilizza SASS, che utilizza FSEvents per impedire il polling del disco. Sembra che questo non giochi bene con RVM, comunque. Ciò significa che quando corro sass --watch ottengo questo avvertimento:RVM, FSEvents e CarbonCore su OS X

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

mi rendo conto che continuerà a funzionare, ma io non voglio essere il mio disco di polling continuo. Voglio farlo funzionare con FSEvents. Le migliori informazioni che ho trovato su questo era questa discussione:

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

Ho reinstallato il mio RVM Rubino (usando 1.9.2), come descritto da Brandon Mathis e scaricato il RubyCocoa collegato. Tuttavia, ottengo un errore sul primo passo di installare 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 

Sembra che il problema deriva da questo essere una versione precedente di RubyCocoa (ho notato il file mancante ha 1.9.1 nel percorso), ma nel post di Google Gruppi, Brandon Mathis dice specificamente di utilizzare la versione che collega e non la più recente.

Qualcuno sa come ottenerlo configurato o avere un collegamento a una guida recente, sperabilmente più semplice e più chiara per far funzionare FSEvents con RVM?

Versioni in questione:

  • RVM 1.2.0
  • Rubino 1.9.2 livello di patch 136 (installato tramite RVM)
  • Mac OS X 10.6.6
  • HAML gemma 3.0.25 (SASS fa parte di HAML)

Grazie!

risposta

10

Ho scritto FSSM, che è quello che HAML/SASS/Compass usa per il loro sistema operativo che guarda il backend. Mentre rubycocoa non è supportato in 1.9.x, l'ultima versione git di FSSM ha un solido supporto per rb-fsevent. Questa libreria ha attualmente altre limitazioni, come il solo essere in grado di monitorare un percorso (la directory principale è un must qui), ma ci sto lavorando. ;)

mi piacerebbe consiglio vivamente l'installazione di RB-fsevent, e poi FSSM da github: https://github.com/ttilley/fssm

Se avete problemi, non esitate a presentare un problema nel tracker. FSSM è un progetto attualmente mantenuto, ed è stato originariamente scritto per aiutare Chris Eppstein a fornire funzionalità di orologio nella bussola (che è stata successivamente adottata da sass stessa). La facilità d'uso tramite queste librerie è la mia priorità assoluta.

+0

Fantastico, grazie per avermelo fatto sapere! Hai appena rubato l'assegno. –

1

Questa è una specie di battaglia persa. Puoi copiare il contenuto della cartella include/ruby ​​dal codice sorgente di Ruby in quella posizione /Users/xxx/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/x86_64-darwin10.6.0/che ti permetterà di eseguire il comando config, ma dopo avrai molti errori sul comando setup e non sarai in grado di installarlo tutto. La gente dice che RubyCocoa non funziona con 1.9.2 e non so se qualcuno sia riuscito a farlo funzionare.

+0

Hmm ... questa non è una buona notizia, se è vero. Deve essere possibile, tuttavia, poiché autotest/fsevent funziona ancora con 1.9.2. –

0

Ho provato il metodo FSSM sopra, inutilmente ...

Gemfile ha ora:

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

che installa: fssm (0.2.6.1) RB-fsevent (0.4.0)

Ancora ottenere questo tho: Avviso: impossibile caricare carboncore . FSEvents non sarà disponibile.

Chiunque ha installato passaggi per far funzionare correttamente FSSM?

+0

Dai un'occhiata a Guard. È quello che sto usando ora. https://github.com/guard/guard –

+1

Nel mio caso, ho dovuto gem di disinstallare haml, quindi gem install haml, gem install sass, gem install rb-fsevent, gem install fssm e tutto andava bene. –