RVM, FSEvents и CarbonCore на OS X
Я настраиваю проект, который использует SASS, который использует FSEvents, чтобы не опрашивать диск. Похоже, что это не очень хорошо играет с RVM, однако. Это означает, что при запуске sass --watch
я получаю следующее предупреждение:
Warning: Unable to load CarbonCore. FSEvents will be unavailable.
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 ответа:
Я написал 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 работать красиво?