Eu tenho seguido o guia para instalar a base Zurb, mas estou enfrentando um problema consistente.
$ npm install foundation-cli --global
é bem sucedido, mas
:fundação cinco portas$ fundação nova
traz à tona:
g++: error: unrecognized command line option '-stdlib=libc++'
make: *** [Release/obj.target/libsass/src/libsass/src/ast.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/fivedoor/Documents/development/zurb/foundation/test130416-2/node_modules/gulp-sass/node_modules/node-sass/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 10.8.0
gyp ERR! command "/usr/local/bin/node" "/Users/fivedoor/Documents/development/zurb/foundation/test130416-2/node_modules/gulp-sass/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/fivedoor/Documents/development/zurb/foundation/test130416-2/node_modules/gulp-sass/node_modules/node-sass
gyp ERR! node -v v4.4.2
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
Build failed
Fui informado no fórum de problemas do node-gyp que ele não era um bug do node-gyp, mas talvez um problema do libsass. Eu vi erros semelhantes em outras postagens do github.
Para ser honesto, sendo muito novo no node, tenho certeza de que é possível que eu tenha sido inepto na implementação de algumas das várias soluções sugeridas.
Eu tentei algumas coisas sem nenhuma alegria:
Mantenho um registro de solução de problemas em expansão à medida que prossigo. As coisas mais recentes em https://github.com/fivedoor/foundation-records/blob/master/my_installation_log_post_reinstall100416
Na falta de uma solução de bala de prata, alguém poderia aconselhar se a atualização para um sistema operacional posterior provavelmente ajudará ou não? (Eu sei que o leopardo da neve é antigo, mas me agarrei a ele para estabilidade.) Recebi alguns avisos da cerveja de que "Nós (e a Apple) não fornecemos suporte para OS 10.6"
O frustrante é que neste estágio eu não estou tentando fazer nada mais 'avançado' do que apenas instalar os pacotes que preciso para começar.
obrigado
Na verdade, isso pertence a https://github.com/sass/node-sass/issues , mas deixe-me perguntar primeiro: o que acontece se você usar clang em vez de gcc?
Obrigado pela sua entrada saper.
Isso tudo é um território muito novo para mim, então talvez eu precise fazer um pouco de pesquisa para mudar o compilador.
Parece que a partir do Xcode 4.2, Clang é o compilador padrão para Mac OS X.
Estou usando o Xcode 3.2.6, que foi a versão mais atualizada que consegui baixar para o Snow Leopard.
Ao executar 'clang --version', vejo que tenho a versão 1.7 do clang instalada.
A partir de uma pesquisa rápida, parece que posso efetuar a alteração com:
option(USE_CLANG "build application with clang" ON)
Mas acho que precisarei ler adequadamente em http://clang.llvm.org/get_started.html e testar hoje à noite e então posso dar feedback.
Obrigado novamente!
Fechando para manter o rastreador de problemas organizado, já que isso deve ir downstream para o node-sass.
@fivedoor Sinta-se à vontade para relatar suas descobertas aqui de qualquer maneira, se puder fazer o clang funcionar.
Revisitando para relatar, tentei mudar para clang e ainda atingi praticamente os mesmos erros.
Exceto desta vez em vez da linha:
g++: error: unrecognized command line option '-stdlib=libc++'
eu obtive
make: clang++: No such file or directory
o que talvez sugira que os comandos que usei para mudar para clang não foram suficientes:
fivedoors-MacBook-Pro:~ fivedoor$ export CC=clang
fivedoors-MacBook-Pro:~ fivedoor$ export CXX=clang++
O processo de instalação foi muito lento e desta vez foi o pior. Demorou cerca de 3,5 horas para a instalação executar seu curso (e falhar).
Vou ver qual entrada posso obter sobre o erro no fórum do node-sass e relatar uma solução se eu conseguir uma.
@fivedoor make: clang++: No such file or directory
não é tão ruim, a invocação da linha de comando não pôde encontrar seu compilador - você pode tentar descobrir qual é o caminho completo para clang e clang ++ e usá-lo? export CC=/full/path/to/clang
export CXX=/full/path/to/clang++
Obrigado saper
Então eu tentei:
fivedoors-MacBook-Pro:~ fivedoor$ export CC=/usr/bin/clang
fivedoors-MacBook-Pro:~ fivedoor$ export CXX=/usr/bin/clang++
que resultou no mesmo erro novamente, mas com a distinção:
make: /usr/bin/clang++: No such file or directory
Verificando novamente:
$ which clang
retorna:
/usr/bin/clang
mas
which clang++
não retorna nada
Da pesquisa inicial, presumi que ter clang também significaria que o clang ++ estava disponível?
Tudo o que posso encontrar sobre a instalação do clang ++ é voltado para o Ubuntu.
Você tem mais alguma recomendação sobre o que tentar a seguir?
Obrigado!
Apenas tente export CXX=/usr/bin/clang
Você pode verificar /usr/bin/clang --version
para ter certeza de que está usando seu novo clang instalado e não o antigo da Apple?
/usr/bin/clang --version
retornos:
Apple clang version 1.7 (tags/Apple/clang-77) (based on LLVM 2.9svn)
Target: x86_64-apple-darwin10
Thread model: posix
sim, parece que essa é a versão que veio com 10.6.8 eu acho
Eu tentei export CXX=/usr/bin/clang
antes de receber as mensagens de erro anteriores
obrigado
Parece que posso usar brew para instalar uma versão posterior com
brew install --with-clang llvm
vou dar uma olhada para dar uma chance
Perfeito!
Só para atualizar o post com o que me fez passar no final...
tentei
brew install --with-clang llvm
mas clang --version
ainda retornou a versão 1.7
Tentei então o seguinte:
$ port search clang
$ sudo port install clang-3.6
$ port select --list clang
$ sudo port select --set clang mp-clang-3.6
Isso parecia fazê-lo como
$ clang --version
devolvido clang version 3.6.2 (tags/RELEASE_362/final)
Então atualizei os caminhos:
$ export CC=/opt/local/bin/clang
$ export CXX=/opt/local/bin/clang++
Desta vez a instalação foi concluída com sucesso :)
Muito obrigado por sua ajuda e me guiando na direção certa saper - foi inestimável!
Um pós-escrito -
Parece que recebi muitos avisos durante a instalação.
https://github.com/fivedoor/foundation-records/blob/master/installation_log_190416
Eu tive alguns avisos do brew sobre o suporte para 10.6.8. e antes que o trabalho acima estivesse prestes a desistir e instalar uma versão do el capitan (para executar como unidade particionada para que eu possa reter o leopardo da neve para outros aplicativos)
Gostaria de saber se essa ainda é uma opção mais sábia daqui para frente, pois tenho a sensação de que posso ter mais problemas relacionados ao uso do Snow Leopard / um sistema operacional mais antigo?
De qualquer forma, obrigado novamente pelo apoio nesta questão!
aviso typeid é inofensivo, foi corrigido mais tarde - veja https://github.com/sass/libsass/issues/1523
configure: error: installation or configuration problem: assembler cannot create object files.
Isso é algo mais sério, você pode relatar isso para as pessoas que mantêm o jpeg-tran.
Muito provavelmente você precisa apontar de alguma forma para o montador que funciona; algo estranho está acontecendo aqui.
Basta instalar as dependências de desenvolvimento e tentar executar npm test
contra o node-sass, espero que funcione!
@fivedoor Estou passando exatamente pelo mesmo problema. tentando mudar o compilador para clang. Por favor, você pode me dizer os passos de como fazê-lo. Obrigado!
Também tentei instalar a versão posterior do clang usando
brew install --with-clang llvm
mas estou recebendo o erro abaixo. Sou iniciante e preciso muito de ajuda!
shyam-molugus-macbook-5:pulses Shyam$ brew install --with-clang llvm
Aviso: você está usando o OS X 10.6.
Nós (e a Apple) não fornecemos suporte para esta versão antiga.
Você pode encontrar falhas de construção ou outras quebras.
==> Baixando http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz
Já baixado: /Users/Shyam/Library/Caches/Homebrew/llvm-3.6.2.tar.xz
==> Baixando http://llvm.org/releases/3.6.2/cfe-3.6.2.src.tar.xz
Já baixado: /Users/Shyam/Library/Caches/Homebrew/llvm--clang-3.6.2.tar.xz
==> cmake -G Unix Makefiles /private/tmp/llvm-20160602-48463-1r6cqk/llvm-3.6.2.src
Últimas 15 linhas de /Users/Shyam/Library/Logs/Homebrew/llvm/01.cmake:
make: *** [cmTC_183c8/fast] Erro 2
O CMake não poderá gerar corretamente este projeto.
Pilha de chamadas (chamada mais recente primeiro):
CMakeLists. txt:25 (projeto)
-- Configuração incompleta, ocorreram erros!
Consulte também "/tmp/llvm-20160602-48463-l64qtc/CMakeFiles/CMakeOutput.log".
Consulte também "/tmp/llvm-20160602-48463-l64qtc/CMakeFiles/CMakeError.log".
LEIA ISTO: https://git.io/brew-troubleshooting
Se relatar este problema, faça-o em (não Homebrew/brew):
https://github.com/Homebrew/homebrew-core/issues
Esses problemas em aberto também podem ajudar:
llvm 3.8.0 https://github.com/Homebrew/homebrew-core/pull/1593
llvm e openmp https://github.com/Homebrew/homebrew-core/issues/1254
@smolugu bem, isso não tem relação com este projeto. Você está praticamente sozinho, pois as mensagens dizem que a versão do seu sistema operacional não é suportada. Você pode tentar pedir ajuda na comunidade brew. Atualizar seu cmake pode ajudar, talvez.
@saper Obrigado! Eu esperava obter ajuda aqui, pois @fivedoor estava tendo o mesmo problema e usando o mesmo OS X. Tentarei novamente após atualizar o cmake.
@smologu
Apenas recapitulando as coisas principais das notas que fiz sobre o que fiz.
Já faz um tempo, então espero que seja claro e ajude:
// Siga o conselho em https://github.com/nodejs/node-gyp/issues/906
// instala o gcc48
$ sudo port install gcc48
$ sudo port select --set gcc mp-gcc48
Selecting 'mp-gcc48' for 'gcc' succeeded. 'mp-gcc48' is now active.
// exclui a pasta node-gyp novamente
$ which clang
/usr/bin/clang
//confirma o caminho disponível
$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
// encontre qual é o caminho completo para clang e clang++ e use-o em vez disso
// https://github.com/sass/libsass/issues/1998#issuecomment -211099908
// verifica as versões disponíveis do clang
$ port search clang
//e instala
$ sudo port install clang-3.6
// parecia funcionar, então verifique
$ port select --list clang
Available versions for clang:
mp-clang-3.6
none (active)
// parece bom então selecione 3.6
$ sudo port select --set clang mp-clang-3.6
Password:
Selecting 'mp-clang-3.6' for 'clang' succeeded. 'mp-clang-3.6' is now active.
// Sucesso
//verifica atualizado - sucesso
//tenta definir o local de exportação
$ export CC=/opt/local/bin/clang
$ export CXX=/opt/local/bin/clang++
// Sucesso
Acho que você @fivedoor , isso é muito útil. clang 3.6 é muito novo para ser construído com um clang antigo, então precisamos dar um passo imediato - primeiro compilar gcc48 e depois usá-lo build clang-3.6.
Na verdade, o gcc48 deve ser suficiente para construir o node-sass, mas você está usando um libstdc++ moderno que vem com o gcc48 e pode acabar tendo problemas ao executar nosso código de dentro do node, que o AFAIK usa a antiga biblioteca C++ ainda fornecida pela Apple.
@fivedoor @saper Obrigado! Realmente aprecio isso. Quase desisti e pensei em comprar um novo mac. mas vou tentar suas sugestões. vai te atualizar.
Cumprimentos,
Parece que Richard Stallman ganhou contra a Apple desta vez :)
Eu tive sucesso com o seguinte em 10.6.8.
brew install gcc
CXX=gcc-5 brew install libsass
Mas CXX=gcc-5 npm install node-sass
falha com um erro de sinalização. Vejo que o arquivo node-sass node-gyp adiciona sinalizadores c++ 11 para clang, que entram em conflito com os sinalizadores c++ para gcc. Seria bom se o node-sass pudesse detectar se os macs mais antigos estão realmente executando o clang ou documentar como substituir os sinalizadores.
Eu ainda tenho sucesso brew
clang usando gcc-5, que leva uma eternidade em um laptop antigo. Menciono isso como um contraste com o uso do port.
Provavelmente vale a pena acrescentar que, embora eu tenha conseguido resolver o problema original neste post, encontrei mais problemas no futuro, que pareciam estar relacionados à execução de um sistema operacional mais antigo.
Eventualmente, instalei o el-capitan em uma unidade externa, preservando o 10.6.8 para executar alguns softwares mais antigos e como substituto. Contanto que você tenha uma máquina executando o Snow Leopard ou superior, acredito que você possa atualizar para o sistema operacional mais recente gratuitamente nessa máquina.
// Verificação de compatibilidade:
http://www.everymac.com/mac-answers/os-x-el-capitan-faq/os-x-el-capitan-compatible-macs-system-requirements.html
Isso pode parecer uma solução longa, mas usando um sistema operacional atualizado, tudo é mais rápido e eu me deparo com muito menos conflitos que precisam ser resolvidos, para que possa economizar tempo a longo prazo, desde que você não tenha uma necessidade específica para ficar correndo leopardo da neve.
Comentários muito úteis
Só para atualizar o post com o que me fez passar no final...
tentei
brew install --with-clang llvm
mas
clang --version
ainda retornou a versão 1.7Tentei então o seguinte:
Isso parecia fazê-lo como
$ clang --version
devolvidoclang version 3.6.2 (tags/RELEASE_362/final)
Então atualizei os caminhos:
Desta vez a instalação foi concluída com sucesso :)
Muito obrigado por sua ajuda e me guiando na direção certa saper - foi inestimável!
Um pós-escrito -
Parece que recebi muitos avisos durante a instalação.
https://github.com/fivedoor/foundation-records/blob/master/installation_log_190416
Eu tive alguns avisos do brew sobre o suporte para 10.6.8. e antes que o trabalho acima estivesse prestes a desistir e instalar uma versão do el capitan (para executar como unidade particionada para que eu possa reter o leopardo da neve para outros aplicativos)
Gostaria de saber se essa ainda é uma opção mais sábia daqui para frente, pois tenho a sensação de que posso ter mais problemas relacionados ao uso do Snow Leopard / um sistema operacional mais antigo?
De qualquer forma, obrigado novamente pelo apoio nesta questão!