2011-01-09 18 views
7

Estoy configurando un proyecto que usa SASS, que usa FSEvents para evitar sondear el disco. Sin embargo, parece que esto no funciona bien con RVM. Eso significa que cuando corro sass --watch consigo esta advertencia:RVM, FSEvents y CarbonCore en OS X

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

me di cuenta de que todavía va a funcionar, pero no quiero ser mi disco de votación constantemente. Quiero que funcione con FSEvents. La mejor información que pude encontrar sobre esto era en este tema:

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

Reinstalé mi RVM Ruby (usando 1.9.2) como se describe por Brandon Mathis y descargado el RubyCocoa vinculado. Sin embargo, me da un error en el primer paso de la instalación 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 

Parece que el problema se deriva de este ser una versión anterior de RubyCocoa (puedo tener el archivo que falta tiene 1.9.1 en el camino), pero en la publicación de Grupos de Google, Brandon Mathis dice específicamente usar la versión que vincula y no la más reciente.

¿Alguien sabe cómo configurar esto o tiene un enlace a una guía reciente, con suerte más simple y clara, para conseguir que FSEvents trabaje con RVM?

Versiones en cuestión:

  • RVM 1.2.0
  • de Ruby 1.9.2 nivel de parches 136 (instalado a través de RVM)
  • Mac OS X 10.6.6
  • HAML joya 3.0.25 (SASS es parte de HAML)

Gracias!

Respuesta

10

Escribí FSSM, que es lo que HAML/SASS/Compass usa para su sistema de archivos mirando back-end. Si bien rubycocoa no es compatible con 1.9.x, la última versión de git de FSSM tiene un soporte bastante sólido para rb-fsevent. Esta biblioteca actualmente tiene otras limitaciones, como solo poder monitorear una ruta (el directorio principal es obligatorio aquí), pero estoy trabajando en ello. ;)

me gustaría sugerir altamente instalar rb-fsevent, y luego FSSM de GitHub: https://github.com/ttilley/fssm

Si usted tiene algún problema, por favor no dude en presentar un problema en el tracker. FSSM es un proyecto que se mantiene actualmente, y fue escrito originalmente para ayudar a Chris Eppstein a proporcionar funcionalidad de reloj en brújula (que luego fue adoptada en sass). La facilidad de uso a través de estas bibliotecas es mi máxima prioridad absoluta.

+0

¡Impresionante, gracias por informarme de esto! Usted acaba de robar el cheque. –

1

Esta es una especie de batalla perdida. Puede copiar el contenido de la carpeta include/ruby ​​desde el código fuente de Ruby a esa ubicación /Users/xxx/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/x86_64-darwin10.6.0/que te permitirá ejecutar el comando config, pero después de eso obtendrás muchos errores en el comando de configuración y no podrás instalarlo todo. La gente dice que RubyCocoa no funciona con 1.9.2 y no sé si alguien logró hacerlo funcionar.

+0

Hmm ... eso no es una buena noticia, si eso es cierto. Sin embargo, debe ser posible porque autotest/fsevent aún funciona en 1.9.2. –

0

Probé el método FSSM anterior, en vano ...

Gemfile tiene ahora:

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

que se instala: FSSM (0.2.6.1) rb-fsevent (0.4.0)

Aún así conseguir este Tho: Advertencia: No se puede cargar carboncore . FSEvents no estará disponible.

¿Alguien tiene pasos de instalación para hacer que FSSM funcione bien?

+0

Eche un vistazo a Guard. Es lo que estoy usando ahora. https://github.com/guard/guard –

+1

En mi caso, tuve que desinstalar gem haml, luego gem install haml, gem install sass, gem install rb-fsevent, gem install fssm y todo estaba bien. –