RVM, FSEvents и CarbonCore на OS X


Я настраиваю проект, который использует SASS, который использует FSEvents, чтобы не опрашивать диск. Похоже, что это не очень хорошо играет с RVM, однако. Это означает, что при запуске sass --watch я получаю следующее предупреждение:

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

Я понимаю, что это все еще будет работать, но я не хочу постоянно опрашивать свой диск. Я хочу, чтобы он работал с FSEvents. Лучшая информация, которую я мог найти об этом, была такова поток:

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

Я переустановил свой RVM Ruby (используя 1.9.2), как описано Брэндоном Матисом, и загрузил связанный RubyCocoa. Однако на первом шаге установки 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

Похоже, что проблема связана с тем, что это более старая версия RubyCocoa (я заметил, что отсутствующий файл имеет 1.9.1 в пути), но в сообщении Google Groups Брэндон Матис говорит: в частности, чтобы использовать версию, которую он ссылается, а не новейшую.

Кто-нибудь знает, как это настроить, или у вас есть ссылка на недавнее, надеюсь, более простое и понятное руководство по работе FSEvents с RVM?

Рассматриваемые варианты:

  • РВМ 1.2.0
  • Ruby 1.9.2 patch level 136 (устанавливается через RVM)
  • Mac OS X 10.6.6
  • HAML gem 3.0.25 (SASS является частью HAML)

Спасибо!

3 7

3 ответа:

Я написал FSSM, который используется HAML/SASS/Compass для своей файловой системы, наблюдающей за бэкендом. В то время как rubycocoa не поддерживается в 1.9.x, последняя версия git FSSM имеет довольно прочную поддержку rb-fsevent. В настоящее время эта библиотека имеет другие ограничения, например, возможность отслеживать только один путь (родительский каталог здесь является обязательным), но я работаю над этим. ;)

Я бы настоятельно рекомендовал установить rb-fsevent, а затем FSSM из github: https://github.com/ttilley/fssm

Если вы есть какие-либо проблемы, пожалуйста, не стесняйтесь, чтобы подать вопрос в трекер. FSSM-это поддерживаемый в настоящее время проект, и первоначально он был написан, чтобы помочь Крису Эппштейну с предоставлением функциональности часов в compass (которая позже была принята в самом sass). Простота использования этих библиотек является моим абсолютным главным приоритетом.

Это своего рода проигранная битва. Вы можете скопировать содержимое папки include / ruby из исходного кода Ruby в это расположение / Users / xxx/.rvm / rubies / ruby-1.9.2-p136 / lib/ruby/1.9.1/x86_64-darwin10. 6. 0/ который позволит вам запустить команду config, но после этого вы получите много ошибок в команде setup, и вы не сможете установить все это. Люди говорят, что RubyCocoa не работает с 1.9.2, и я не знаю, удалось ли кому-нибудь заставить его работать.

Я попробовал метод FSSM выше, но безрезультатно...

Gemfile теперь имеет:

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

Который устанавливает: fssm (0.2.6.1) rb-fsevent (0.4.0)

Все еще получаю этот Тхо: Предупреждение: не удается загрузить CarbonCore. FSEvents будет недоступен.

У кого-нибудь есть шаги по установке, чтобы заставить FSSM работать красиво?