Невозможно установить gem autotest-fsevent с Xcode 4.3 - PullRequest
4 голосов
/ 20 февраля 2012

Мне не удалось установить gem autotest-fsevent после обновления до Xcode 4.3 (удалены старые версии Xcode).Инструменты командной строки были установлены через вкладку «Настройки»> «Загрузки»> «Компоненты».

osx 10.7.3, rvm 1.10.2, ruby ​​1.9.3-rc1, упаковщик 1.0.22

$ bundle

Installing autotest-fsevent (0.2.7) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/doc/.rvm/rubies/ruby-1.9.3-rc1/bin/ruby extconf.rb 
extconf.rb:36:in `<main>': Xcode not found - see README for assistance (RuntimeError)


Gem files will remain installed in /Users/doc/.rvm/gems/ruby-1.9.3-rc1@global/gems/autotest-fsevent-0.2.7 for inspection.
Results logged to /Users/doc/.rvm/gems/ruby-1.9.3-rc1@global/gems/autotest-fsevent-0.2.7/ext/fsevent/gem_make.out
An error occured while installing autotest-fsevent (0.2.7), and Bundler cannot continue.
Make sure that `gem install autotest-fsevent -v '0.2.7'` succeeds before bundling.

.README просто указывает, что Xcode требуется.

У меня, кажется, выбран правильный Xcode.app:

$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer

У кого-нибудь еще есть эта проблема?Есть идеи как обойти это?

1 Ответ

7 голосов
/ 21 февраля 2012

Оказывается, путь XCode жестко задан в файле gem:

внутр / fsevent / extconf.rb:

...
  elsif File.exists?('/Developer/Applications/Xcode.app')
    `CFLAGS='-isysroot /Developer/SDKs/MacOSX#{SDK_VERSION}.sdk -mmacosx-version-min=#{SDK_VERSION}' /usr/bin/gcc -framework CoreServices -o "#{GEM_ROOT}/bin/fsevent_sleep" fsevent_sleep.c`
    raise "\e[1;31mCompilation of fsevent_sleep binary failed - see README for assistance\e[0m" unless File.executable?("#{GEM_ROOT}/bin/fsevent_sleep")
...

Xcode 4.3 теперь установлен как приложение в / Applications. Другой пользователь github ( fxposter ) обнаружил ту же проблему и выдал запрос на получение за несколько часов до моего. Предложенные изменения были объединены в самоцвет, и v0.2.8 был выпущен.

...