Когда я пытаюсь установить последнюю версию компаса ( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 ), я получаю следующую ошибку.
ERROR: Error installing compass:
ERROR: Failed to build gem native extension.
ERROR: Error installing compass:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... yes
checking for ffi_call() in -lffi... yes
checking for ffi_prep_closure()... yes
checking for ffi_raw_call()... no
checking for rb_thread_blocking_region()... yes
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... no
creating extconf.h
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling AbstractMemory.c
compiling ArrayType.c
compiling Buffer.c
compiling Call.c
Call.c:303:5: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration]
rbffi_thread_blocking_region(call_blocking_function, data, (void *) -1, NULL);
^
./Thread.h:78:39: note: expanded from macro 'rbffi_thread_blocking_region'
# define rbffi_thread_blocking_region rb_thread_call_without_gvl
^
1 warning generated.
compiling ClosurePool.c
compiling DataConverter.c
DataConverter.c:43:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
compiling DynamicLibrary.c
compiling ffi.c
compiling Function.c
Function.c:479:33: warning: incompatible pointer types passing 'VALUE (void *)' to parameter of type 'void *(*)(void *)' [-Wincompatible-pointer-types]
rb_thread_call_with_gvl(callback_with_gvl, &cb);
^~~~~~~~~~~~~~~~~
Function.c:102:46: note: passing argument to parameter 'func' here
extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
^
Function.c:563:9: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration]
rb_thread_call_without_gvl(async_cb_wait, &w, async_cb_stop, &w);
^
Function.c:738:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
3 warnings generated.
compiling FunctionInfo.c
compiling LastError.c
compiling LongDouble.c
compiling MappedType.c
compiling MemoryPointer.c
compiling MethodHandle.c
compiling Platform.c
compiling Pointer.c
compiling Struct.c
compiling StructByReference.c
compiling StructByValue.c
compiling StructLayout.c
compiling Thread.c
compiling Type.c
compiling Types.c
compiling Variadic.c
linking shared-object ffi_c.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [ffi_c.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.3 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-13/2.0.0/ffi-1.9.3/gem_make.out
Что тут происходит? Как установить последний компас без ошибок?
ruby
macos
terminal
compass-sass
cusejuice
источник
источник
Ответы:
Попробуйте это, затем попробуйте установить компас снова
источник
choco install ruby2.devkit
но он все еще не работаетДля того чтобы установить компас В Mac OS X 10.10 (Yosemite) необходимо было выполнить следующее:
1. Настройте среду Ruby
ruby -v
sudo gem update --system
2. Настройте среду MAC
Установите инструменты командной строки XCode, это ключ для установки Compass.
Установка инструментов командной строки Xcode - ключ к работе Compass на OS X
3. Установите Компас
источник
Лучший способ -
sudo apt-get install ruby-compass
установить компас.источник
Вы можете попробовать в Debian с
для Fedora, Centos
Это сработало для меня.
источник
make
.ruby-dev
сделал трюк stackoverflow.com/questions/20559255/…Я боролся с вами той же проблемой в течение 3 часов. Начиная с
Compass 1.0.alpha19
этого требования, для версии 1.9.3 rvm.Есть несколько несобранных постов, однако, что работало для меня, было следующее:
sudo gem uninstall sass
sudo gem uninstall compass
rvm install ruby-1.9.3-p448
sudo gem install sass --pre
sudo gem install compass --pre
и это сделало это. Надеюсь, это работает и для вас!
источник
rvm install ruby-2.1.2
1.9.3 больше не обновлялсяЧтобы решить эту проблему, я должен был убедиться, что у меня самая последняя версия Ruby и гемов
gem update --system
; то, я должен был убедиться , что были установлены Xcode и инструменты командной строки:xcode-select --install
.источник
xcode-select --install
было сделано, но это не решает это для меняВ Mac OS вам необходимо установить эту функцию!
источник
Привет, это было проблемой, чтобы заставить его работать на Mac, так что в любом случае вот решение
rvm requirements
бегиrvm install 2.1
gem install compass --pre
Я не уверен, но версия ruby на Mavericks не поддерживает собственные расширения и т. Д., Поэтому, если вы укажете на другую версию ruby, как я сделал "2.1", она работает нормально.
источник
Не уверен, почему ни один из них не помечен как правильный ответ, но я попал сюда через поиск в Google, поэтому я передам то, что я знаю ...
Метод @ paul_g был довольно близок для меня, мои шаги на Mac OSX10.9 Retina:
--insecure
флагом добавления ruby для проблем, связанных с SSL) $\curl -sSL --insecure https://get.rvm.io | bash -s stable --ruby
rvm requirements --with-gcc=clang
Вам не нужно обновлять Ruby, потому что вы скачали последнюю стабильную версиюgem install compass --pre
источник
Если вы используете Ubuntu, попробуйте установить build-essential
У меня были проблемы с установкой гемов на свежую установку Ubuntu, и это решение сработало для меня.
источник
Вам может понадобиться установить инструменты командной строки Apple, которые, вероятно, не установлены в вашей системе по умолчанию. Я получал ту же ошибку, но перед тем, как следовать какой-либо из приведенных здесь инструкций, я установил инструменты командной строки (из-за не связанной с этим проблемы) и вот-вот установил компас без проблем при повторной попытке. YMMV.
источник
Чтобы установить Compass на Yosemite, вам нужно настроить среду Ruby и установить инструменты командной строки Xcode. Но, самое главное, после обновления Xcode обязательно запустите приложение Xcode и примите условия лицензии Apple . Он завершит установку компонентов. После этого вы можете установить Compass: sudo gem установить compass
источник
Для macOS 10.14 Mojave, убедитесь, что вы уже установили инструменты командной строки через
xcode-select --install
и выполните следующую команду для установки заголовков std.Теперь попробуйте свою команду снова.
источник
у вас должен быть gcc, json_pure
я собираю информацию из нескольких постов
Привет, если ** sudo gem update --system ** не работает, вы получили ошибку в обновлении, используйте
Обновление самоцвета sudo - система 2.7.8
источник
sudo yum install -y redhat-rpm-config
Fedora 24 перед установкой компаса из-за этой ошибки:gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
sudo gem update --system
дал мне ошибки:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
:(На yosemite все, что вам нужно сделать, это установить инструменты командной строки. тогда это работает.
Даже если другие драгоценные камни установлены нормально. Вы должны запустить xcode-select --install для работы компаса gem install.
Удачи.
источник
В Mac OS X 10.9, если вы попытаетесь
xcode-select --install
, вы получите следующую ошибку:Решение состоит в том, чтобы загрузить Инструменты командной строки (OS X 10.9) непосредственно с веб-сайта Apple: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-
После этого вы сможете установить последнюю версию инструментов командной строки.
источник
В Ubuntu 14.04 при выполнении команды apt-get install rubygems возникает ошибка
следуйте командам решить проблемы.
источник
Попробуй
brew install coreutils
.Я столкнулся с этой проблемой, перестраивая устаревший проект sass / compass, который недавно был обновлен коллегой до ruby 2.2.5. В проекте используются rvm и bundler. Это были мои команды
Это привело к тому, что я столкнулся с известными
ffi
ошибками установки, о которых сообщается в среде StackOverflow:Большинство предложений для решения этой проблемы заключается в установке инструментов командной строки Xcode. Однако это уже было установлено в моей среде:
Другие предложения говорят, чтобы установить GCC ... поэтому я попытался:
Но это также не удалось из - за ошибки сегментации ...
¯\_(ツ)_/¯
.Итак, я попытался установить компас вручную, просто чтобы посмотреть, не выдаст ли он ту же
ffi
ошибку:Но, к моему удивлению, я получил совершенно другую ошибку:
Поэтому я искал эту проблему и нашел этот древний пост в блоге, в котором говорилось об установке coreutils:
После установки
coreutils
с Homebrew, bundler смог закончить и успешно установил компас и зависимости.Конец.
источник
источник
когда
и эта ошибка была помещена в терминал.
пожалуйста, сделай то же самое
и это тоже исправит эту проблему
источник
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
. Это не исправит это.Для Mac OS:
Моя ошибка была в том, что я забыл выбрать опцию в XCode - «Настройки» - «Местоположения» - «Инструменты командной строки» после новой установки XCode (у меня было 2 версии, а потом я удалил одну). Может быть, это кому-то поможет.
источник
Попробуйте это, затем попробуйте установить компас снова
источник
У меня была та же проблема с Linux Mint, но я смог ее исправить, удалив ruby и установив заново.
Удалить ruby:
Сообщалось о некоторых пакетах ruby, таких как:
Удалить оставшиеся пакеты *
Установите ruby снова
Установить компас
Последняя команда была выполнена с успехом.
источник