RVM, FSEvents и CarbonCore на OS X - PullRequest
       71

RVM, FSEvents и CarbonCore на OS X

7 голосов
/ 09 января 2011

Я настраиваю проект, который использует 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 Брэндон Матис специально говорит, что использует версию, на которую он ссылается, и не самый новый.

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

Версии, о которых идет речь:

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

Спасибо!

Ответы [ 3 ]

10 голосов
/ 06 февраля 2011

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

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

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

1 голос
/ 09 января 2011

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

0 голосов
/ 12 апреля 2011

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

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

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

, который устанавливает: фссм (0.2.6.1) рб-фсевент (0.4.0)

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

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

...