Eu gostaria de criar um script para a instalação das ferramentas de linha de comando do Xcode.
No Mavericks,
xcode-select --install
abrirá uma caixa de diálogo solicitando que o usuário instale, mas eu gostaria de acionar a instalação sem a caixa de diálogo, como usar o softwareupdate
comando
Existe uma maneira de fazer isso?
Editar:
Especificamente, xcode-select --install
inicia um aplicativo que baixa e instala as ferramentas sem exigir que o usuário faça o download manualmente ou tenha uma conta de desenvolvedor da Apple. Parece usar /System/Library/CoreServices/Install Command Line Developer Tools.app
para fazer isso.
Eu gostaria de usar o mesmo mecanismo que a Apple, mas sem a GUI. Não quero ter que baixar manualmente o .dmg que contém as ferramentas, pois isso parece frágil. A Apple fornece várias outras ferramentas de linha de comando, como softwareupdate
e install
que baixam ou instalam software diretamente da Apple, e estou procurando encontrar o mesmo para esse tipo de distribuição.
Respostas:
Gostaria de poder reivindicar crédito por este, mas o encontrei enterrado em https://github.com/chcokr/osx-init/blob/master/install.sh
Isso funcionou na minha VM sem cabeça 10.10 sem uma interface de usuário conectada. Atualizações aplicadas para compatibilidade com pelo menos 10.9-10.14
Isso pressupõe que você tenha apenas 1 resultado para
softwareupdate -l | grep "\*.*Command Line"
- se isso retornar várias versões, você poderá precisar de uma lógica mais específica. (Eu não tenho um caso de repro)uma variação que parece funcionar (teste limitado) em 10.10-10.14 (10.9 não retorna um número de versão osx no nome das ferramentas cli .. então isso não funciona lá):
alguns exemplos de resultados:
fonte
rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
depois da execuçãosoftwareupdate -i ...
, caso contrário, as chamadas subsequentes serãosoftwareupdate -l
exibidasCommand Line Tools ...
como uma atualização disponível. Essa (suposta) atualização não parece ser mostrada na App Store, possivelmente porquesoftwareupdate -l
apenas lista as atualizações do "sistema", não as atualizações do aplicativo.Faça o download do pacote Command Line Tools no site da Apple Developer .
Monte o 1 DMG baixado :
Execute o instalador pela linha de comando:
Quando terminar, desmonte o DMG e exclua o download.
Ejete o DMG 2 .
Exclua o DMG.
1 No momento da redação deste documento, o DMG e o nome do pacote baixados são precisos; no entanto, no futuro, o nome poderá mudar. Lembre-se de alterar o comando (ou use o preenchimento de tabulação) para preencher a parte relevante do comando.
2 Se o comando não funcionar, verifique se o disco corresponde ao nome da montagem (conforme
mount
).fonte
Uma alternativa é usar este manuscrito que escrevi:
https://gist.github.com/brysgo/9007731
fonte
Uma tentativa de limpar o estilo e a lógica da resposta aceita, tornando-a o mais independente da versão possível, usando
softwareupdate
sua capacidade total e introduzindo umaos
variável reutilizável :fonte
É isso que eu uso, em parte com base na resposta da brysgo.
atualização: a Apple continua adicionando novas colunas ao banco de dados de acesso; você só precisa especificar valores para os 5 primeiros; atualizou o código para refletir isso.
fonte
Mais algumas alternativas podem ser encontradas nessas respostas:
Baixar ferramentas de linha de comando XCode
Você pode fazer o download dos pacotes XCode 4.x CLTools do site oficial de downloads, através de links diretos.
Aqui está um script que automatizará o processo de instalação para você 1 .
Para encontrar links atualizados para as ferramentas, você pode usar este comando:
[1] Por favor, não abuse / sobrecarregue seus servidores
Você pode achar que é mais fácil primeiro fazer login no site de download do desenvolvedor da Apple e baixar as mais recentes ferramentas de linha de comando disponíveis no site. Em seguida, você pode hospedar o
.dmg
servidor de repositório de pacotes no seu próprio.dmg
computador e poder instalá-lo de maneira confiável em muitas máquinashdiutil
sem precisar fazer login no developer.apple.com.Em 10/06/2015, o link para as ferramentas de linha de comando mais recentes
dmg
é:http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.10_for_Xcode_6.3.2/commandlinetoolsosx10.10forxcode6.3.2.dmg
fonte
dmg
e copiou partes essenciais da resposta localmente para esta resposta.Descobri que, se você instalar o Home Brew, ele instalará automaticamente as ferramentas de linha de comando.
Eu testei isso usando essa imagem vaga .
Execute o comando a seguir para instalar o Homebrew e, ao fazer isso, instale as Ferramentas de Linha de Comando.
fonte