Quando tento instalar a versão mais recente do compass ( https://rubygems.org/gems/compass/versions/1.0.0.alpha.17 ), recebo o seguinte erro.
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
O que está acontecendo aqui? Como instalo a bússola mais recente sem erros?
ruby
macos
terminal
compass-sass
cusejuice
fonte
fonte
Respostas:
Tente isso e tente instalar a bússola novamente
fonte
choco install ruby2.devkit
, mas ele ainda não está funcionandoPara instalar a bússola No Mac OS X 10.10 (Yosemite), foi necessário o seguinte:
1. Configure o ambiente Ruby
ruby -v
sudo gem update --system
2. Configure o ambiente MAC
Instale as ferramentas de linha de comando do Xcode, esta é a chave para instalar o Compass.
Instalar as ferramentas de linha de comando do Xcode é a chave para fazer o Compass funcionar no OS X
3. Instale o Compass
fonte
A melhor maneira é
sudo apt-get install ruby-compass
instalar a bússola.fonte
Você pode tentar no Debian com
para o Fedora, Centos
Funcionou para mim.
fonte
make
.ruby-dev
fez o truque stackoverflow.com/questions/20559255/…Eu lutei com você mesmo problema por cerca de 3 horas. A partir de
Compass 1.0.alpha19
, o requisito é para a versão 1.9.3 do rvm.Existem várias postagens não coletadas, no entanto, o que funcionou para mim foi o seguinte:
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
e fez isso. Espero que funcione para você também!
fonte
rvm install ruby-2.1.2
a 1.9.3 não está mais sendo atualizadosPara que eu resolvesse esse problema, tinha que ter certeza de que tinha a versão mais atual do Ruby e das gemas
gem update --system
; então, eu tinha que ter certeza de que o Xcode e as ferramentas de linha de comando foram instalados:xcode-select --install
.fonte
xcode-select --install
foi feito, mas isso não resolve isso por mimNo Mac OS, você precisa instalar esse recurso!
fonte
Olá, foi um desafio fazê-lo funcionar no Mac. De qualquer forma, aqui está uma solução
rvm requirements
e corrarvm install 2.1
gem install compass --pre
Não tenho certeza, mas a versão ruby no Mavericks não suporta extensões nativas, etc.
fonte
Não sei por que nenhum deles está marcado como a resposta correta, mas cheguei aqui por meio de uma pesquisa no google, então transmitirei o que sei ...
O método do @ paul_g estava bem próximo de mim, meus passos em um Mac osx10.9 Retina:
--insecure
flag para questões relacionadas ao SSL)\curl -sSL --insecure https://get.rvm.io | bash -s stable --ruby
rvm requirements --with-gcc=clang
Não é necessário atualizar o Ruby porque você baixou a última versão estávelgem install compass --pre
fonte
Se você estiver usando o Ubuntu, tente instalar o build-essential
Eu tive problemas com a instalação de gemas na instalação nova do ubuntu, e esta solução funcionou para mim.
fonte
Pode ser necessário instalar o Command Line Tools da Apple, que provavelmente não está instalado no seu sistema por padrão. Eu estava recebendo o mesmo erro, mas antes de seguir qualquer uma das instruções aqui, instalei o Command Line Tools (devido a um problema não relacionado) e eis que a bússola foi instalada sem problemas ao tentar novamente. YMMV.
fonte
Para instalar o Compass no Yosemite, você precisa configurar o ambiente Ruby e instalar o Xcode Command Line Tools. Porém, o mais importante, após atualizar o Xcode, inicie o aplicativo Xcode e aceite os termos de licença da Apple . Concluirá a instalação dos componentes. Depois disso, você pode instalar o Compass: sudo gem install compass
fonte
Para o macOS 10.14 Mojave, verifique se você já instalou as ferramentas de linha de comando
xcode-select --install
e execute o seguinte comando para instalar os cabeçalhos std.Agora tente seu comando novamente.
fonte
você deve ter gcc, json_pure
coleciono algumas informações de vários posts
Olá, se ** sudo gem update --system ** não estiver funcionando, você recebeu um erro na atualização e use
atualização sudo gem --system 2.7.8
fonte
sudo yum install -y redhat-rpm-config
para o Fedora 24 antes de instalar a bússola devido a este erro:gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
sudo gem update --system
deu-me erros:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
:(No yosemite, tudo que você deve fazer é instalar as ferramentas de linha de comando. então funciona.
Mesmo se outras gemas instaladas bem. Você deve executar o xcode-select --install para que o gem install compass funcione.
Boa sorte.
fonte
No Mac OS X 10.9, se você tentar
xcode-select --install
, receberá o seguinte erro:A solução é baixar o Command Line Tools (OS X 10.9) diretamente do site da Apple: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-
Você poderá instalar a última versão do Command Line Tools.
fonte
No ubuntu 14.04, ao executar o apt-get install rubygems , há um erro
O comando follow resolve os problemas.
fonte
Tente
brew install coreutils
.Eu encontrei esse problema ao reconstruir um projeto antigo de sass / compass que foi recentemente atualizado para o ruby 2.2.5 por um colega. O projeto usa rvm e bundler. Esses foram meus comandos
Isso me levou a atingir os famosos
ffi
erros de instalação, relatados no ambiente StackOverflow:A maioria das sugestões para resolver esse problema é instalar as ferramentas de linha de comando do Xcode. No entanto, isso já foi instalado no meu ambiente:
Outras sugestões para instalar o gcc ... então tentei:
Mas isso também falhou devido a uma falha de segmentação ...
¯\_(ツ)_/¯
.Então, tentei instalar a bússola manualmente, apenas para ver se daria o mesmo
ffi
erro:Mas, para minha surpresa, recebi um erro totalmente diferente:
Então, procurei esse problema e encontrei este post antigo que dizia instalar o coreutils:
Após a instalação
coreutils
com o Homebrew, o bundler conseguiu finalizar e instalar a bússola e as dependências com êxito.O fim.
fonte
fonte
quando
é executado também este erro foi colocado no terminal.
por favor faça o mesmo
e vai resolver esse problema também
fonte
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
. Isso não corrige.Para Mac OS:
Meu erro foi que eu esqueci de selecionar a opção no XCode - Preferences - Locations - Command Line Tools após a nova instalação do XCode (eu tinha 2 versões e depois apaguei uma). Talvez isso ajude alguém.
fonte
Tente isso e tente instalar a bússola novamente
fonte
Eu tive o mesmo problema no Linux Mint, mas consegui corrigi-lo desinstalando o ruby e instalando-o novamente.
Desinstale o ruby:
Ele relatou alguns pacotes ruby como:
Desinstale os pacotes restantes *
Instale o ruby novamente
Instalar bússola
O último comando foi executado com sucesso.
fonte