Компас gem install не будет работать
Когда я пытаюсь установить компас с помощью sudo gem install compass
это покажет мне это:
Building native extensions. This could take a while...
ERROR: Error installing compass:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -r ./siteconf20141125-86718-gjziv3-0.rb extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_with_gvl()... no
checking for rb_thread_call_without_gvl()... no
checking for ffi_prep_cif_var()... no
creating extconf.h
creating Makefile
make clean
make
mkdir -p "/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c"/libffi-i386; (if [ ! -f "/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c"/libffi-i386/Makefile ]; then echo "Configuring libffi for i386"; cd "/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c"/libffi-i386 && env CC=" xcrun cc" CFLAGS="-arch i386 " LDFLAGS="-arch i386" "/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=i386-apple-darwin > /dev/null; fi); env MACOSX_DEPLOYMENT_TARGET=10.4 make -C "/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c"/libffi-i386
Configuring libffi for i386
configure: WARNING: if you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used
configure: error: in `/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c/libffi-i386':
configure: error: C compiler cannot create executables
See `config.log' for more details
make[1]: *** No targets specified and no makefile found. Stop.
make: *** ["/Library/Ruby/Gems/1.8/gems/ffi-1.9.6/ext/ffi_c"/libffi-i386/.libs/libffi_convenience.a] Error 2
make failed, exit code 2
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/ffi-1.9.6 for inspection.
Results logged to /Library/Ruby/Gems/1.8/extensions/universal-darwin-11/1.8/ffi-1.9.6/gem_make.out
Я правильно установил sass и xcode' tools, но ничего не изменилось. Я даже пытаюсь обновить ruby. Что я должен делать?
1 ответ
Это происходит потому, что вы хотите установить sudo, и, вероятно, переменные окружения не настроены на использование установленного ruby, вместо этого он использует системный ruby, который, вероятно, не тот, который вы хотите использовать.
Самый простой способ использовать Ruby на Mac - это установить rbenv и ruby-build с помощью homebrew.
Для установки homebrew просто запустите эту команду, которую можно найти на домашней странице brew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Чтобы установить rbenv и ruby-build, вы можете запустить эти команды, которые можно найти на Github:
brew update
brew install rbenv ruby-build
Забыл добавить это наверняка, тогда вам нужно установить версию ruby с помощью rbenv и сделать ее глобальной.
rbenv install 2.1.5
rbenv global 2.1.5
И наконец:
gem install compass
Просто убедитесь, что gem bin указывает на версию, которую вы установили.
Вы можете запустить gem env
и извлеките напечатанные пути, если он не указывает на недавно установленный путь к гему ruby, закройте терминал и откройте новый, затем установите камень.
Вот первые несколько строк того, что напечатано на моей машине:
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.0
- RUBY VERSION: 2.1.0 (2013-12-25 patchlevel 0) [x86_64-darwin13.0]
- INSTALLATION DIRECTORY: /Users/jani/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
....