Cuando intento instalar la última versión de la brújula ( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 ), aparece el siguiente error.
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
¿Que está pasando aqui? ¿Cómo instalo la última brújula sin error?
ruby
macos
terminal
compass-sass
cusejuice
fuente
fuente
Respuestas:
Intente esto, luego intente instalar la brújula nuevamente
fuente
choco install ruby2.devkit
pero todavía no funcionaPara instalar la brújula en Mac OS X 10.10 (Yosemite) tenía que realizar lo siguiente:
1. Configurar el entorno Ruby
ruby -v
sudo gem update --system
2. Configurar el entorno MAC
Instale las herramientas de línea de comandos de Xcode, esta es la clave para instalar Compass.
Instalar Xcode Command Line Tools es la clave para que Compass funcione en OS X
3. Instale la brújula
fuente
La mejor manera es
sudo apt-get install ruby-compass
instalar la brújula.fuente
Puedes probar en Debian con
para Fedora, Centos
Funcionó para mi.
fuente
make
.ruby-dev
hizo el truco stackoverflow.com/questions/20559255/…Luché con usted el mismo problema durante aproximadamente 3 horas. A partir de
Compass 1.0.alpha19
, el requisito es para la versión rvm 1.9.3.Hay varias publicaciones no recopiladas, sin embargo, lo que funcionó para mí fue lo siguiente:
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
Y eso lo hizo. ¡Espero que también funcione para ti!
fuente
rvm install ruby-2.1.2
1.9.3 ya no se actualizaPara resolver este problema, tenía que asegurarme de tener la versión más reciente de Ruby y las gemas
gem update --system
; entonces, tenía que asegurarse de que Xcode y las herramientas de línea de comandos se instalaron:xcode-select --install
.fuente
xcode-select --install
fue hecho pero esto no me soluciona¡En Mac OS necesita instalar esta función!
fuente
Hola, fue un desafío hacerlo funcionar en Mac, así que de todos modos aquí hay una solución
rvm requirements
luego corrervm install 2.1
gem install compass --pre
No estoy seguro, pero la versión ruby en Mavericks no admite extensiones nativas, etc., así que si señala otra versión ruby como yo hice "2.1", funciona bien.
fuente
No estoy seguro de por qué ninguno de estos está marcado como la respuesta correcta, pero llegué aquí a través de una búsqueda en Google, por lo que transmitiré lo que sé ...
El método de @paul_g fue bastante cercano para mí, mis pasos en una Mac osx10.9 Retina:
--insecure
flag para problemas relacionados con SSL) $\curl -sSL --insecure https://get.rvm.io | bash -s stable --ruby
rvm requirements --with-gcc=clang
No tendrá que actualizar Ruby porque descargó la última versión establegem install compass --pre
fuente
Si está usando Ubuntu, debe intentar instalar build-essential
Tuve problemas con la instalación de gemas en una nueva instalación de ubuntu, y esta solución funcionó para mí.
fuente
Es posible que deba instalar las herramientas de línea de comandos de Apple, que probablemente no estén instaladas en su sistema de manera predeterminada. Recibía el mismo error, pero antes de seguir cualquiera de las instrucciones aquí instalé las Herramientas de línea de comandos (debido a un problema no relacionado) y he aquí que la brújula se instaló sin problemas cuando lo intenté nuevamente. YMMV.
fuente
Para instalar Compass en Yosemite, debe configurar el entorno Ruby e instalar las herramientas de línea de comandos Xcode. Pero, lo más importante, después de actualizar Xcode, asegúrese de iniciar la aplicación Xcode y aceptar los términos de la licencia de Apple . Completará la instalación de los componentes. Después de eso, puedes instalar Compass: sudo gem install compass
fuente
Para macOS 10.14 Mojave, asegúrese de que ya haya instalado las herramientas de línea de comandos
xcode-select --install
y ejecute el siguiente comando para instalar encabezados estándar.Ahora intente su comando nuevamente.
fuente
debes tener gcc, json_pure
Recopilo información de varias publicaciones
Hola, si ** la actualización de sudo gem --sistema ** no funciona, recibiste un error en la actualización y luego usa
actualización de sudo gem - sistema 2.7.8
fuente
sudo yum install -y redhat-rpm-config
para Fedora 24 antes de instalar la brújula debido a este error:gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
sudo gem update --system
me dio errores:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
:(En yosemite, todo lo que debe hacer es instalar las herramientas de línea de comandos. Entonces funciona.
Incluso si otras gemas se instalan bien. Debe ejecutar xcode-select --install para que la brújula de instalación de gemas funcione.
Buena suerte.
fuente
En Mac OS X 10.9, si lo intentas
xcode-select --install
, obtendrás el siguiente error:La solución es descargar Command Line Tools (OS X 10.9) directamente desde el sitio web de Apple: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-
Luego podrá instalar la última versión de Command Line Tools.
fuente
En ubuntu 14.04, mientras ejecuta apt-get install rubygems , hay un error
Siga el comando para resolver los problemas.
fuente
Tratar
brew install coreutils
.Me encontré con este problema al reconstruir un antiguo proyecto sass / compass que un colega actualizó recientemente a ruby 2.2.5. El proyecto usa rvm y bundler. Estas fueron mis órdenes
Esto me hizo encontrar los
ffi
errores de instalación famosos , que se informan alrededor del entorno StackOverflow:La mayoría de las sugerencias para resolver este problema son instalar herramientas de línea de comandos Xcode. Sin embargo, esto ya estaba instalado en mi entorno:
Otras sugerencias decían instalar gcc ... así que intenté:
Pero esto también falló debido a un fallo de segmentación ...
¯\_(ツ)_/¯
.Entonces, intenté instalar la brújula a mano, solo para ver si daría el mismo
ffi
error:Pero para mi sorpresa, recibí un error totalmente diferente:
Así que busqué ese problema y encontré esta antigua publicación de blog que decía que instalar coreutils:
Después de instalar
coreutils
con Homebrew, el paquete pudo terminar e instalar la brújula y las dependencias con éxito.El fin.
fuente
fuente
cuando
Se ejecuta también este error se han colocado en la terminal.
por favor haz lo mismo
y también solucionará ese problema
fuente
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
. Esto no lo arregla.Para Mac OS:
Mi error fue que olvidé seleccionar la opción en XCode - Preferencias - Ubicaciones - Herramientas de línea de comandos después de la nueva instalación de XCode (tuve 2 versiones y luego eliminé una). Quizás ayude a alguien.
fuente
Intente esto, luego intente instalar la brújula nuevamente
fuente
Tuve el mismo problema en Linux Mint, pero pude solucionarlo desinstalando ruby e instalándolo nuevamente.
Desinstalar ruby:
Informó algunos paquetes de rubíes como:
Desinstalar los paquetes restantes *
Instala ruby nuevamente
Instalar brújula
El último comando se ejecutó con éxito.
fuente