Instalando o Xcode via linha de comando


27

Eu sou um usuário de Linux e nunca usei o OSX antes. Alguém me pediu ajuda para instalar algum software em um servidor OSX "Lion". Pedi que ele me desse um shell SSH, assumindo que isso seria suficiente. No entanto, as coisas são mais complicadas do que eu pensava.

Eu queria instalar o homebrew, mas ele não foi instalado porque não havia cc no sistema. Depois de algum google, suponho que preciso instalar o Xcode. Acabei de baixar o xcode 4.5 do site de desenvolvedores da apple e o montei no sistema. Ele contém um diretório Xcode.appcom um monte de coisas nele. Como eu vou daqui?

Posso instalar o Xcode sem acesso físico à máquina? Tudo o que eu realmente quero é ter o homebrew rodando neste momento.

Respostas:


25

Pode ser melhor instalar apenas as Ferramentas de Linha de Comando do Desenvolvedor independentes (que incluem gcce outros itens padrão da cadeia de ferramentas do desenvolvedor). Você pode obtê-lo em Downloads para desenvolvedores da Apple (que requer uma conta de desenvolvedor gratuita). Infelizmente, não há um link direto, mas procure por ferramentas de linha de comando e você o encontrará (observe que existem downloads diferentes para Lion e Mountain Lion).

O download é um DMG. Montar esse, e você vai encontrar um .mpkgarquivo, que você pode instalar através da linha de comando : sudo installer -pkg "Command Line Tools.mpkg" -target /.


+1 para manter o pacote vazio em mente. +3 para instalação no terminal - editarei minha resposta um pouco, já que o Xcode já foi baixado, as ferramentas estão no Xcode.app/Contents/Developer e podem ser facilmente copiadas para um caminho conveniente para execução.
bmike

Sim, tenho certeza de como / se as ferramentas incluídas no pacote Xcode diferem do download autônomo. Presumivelmente um pouco diferente, pois o Xcode também possui a opção de ferramentas de download. De qualquer forma, se você está começando do zero e deseja uma instalação "limpa" fazendo apenas as coisas na linha de comando, provavelmente este é o caminho a seguir.
22612 robmathers

2
Acredito que na última vez que verifiquei, as ferramentas do Xcode têm cabeçalhos extras e outras coisas para atender à criação da GUI e as ferramentas da Linha de Comando são reduzidas um pouco / construídas separadamente com sinalizadores ligeiramente diferentes quando compiladas, mas também geralmente a mesma versão do Xcode principal lançamentos. Na prática, nunca vi as diferenças serem notadas e muito menos a matéria. O AFAIK, Xcode baixa o pacote que você mencionou e o instala para que você tenha os dois - a versão xcrun do conjunto de ferramentas e a versão / usr / bin do conjunto de ferramentas.
bmike

Sim, funcionou. Acabei de instalar o brew. Há um erro de digitação em sua postagem, que deve ser lida em sudo installervez de sudo install.
Jeroen

@ Jeroen obrigado por isso, corrigido. Não tenho certeza de como eu perdi.
robmathers

10

Recentemente, tive que instalar as ferramentas de linha de comando do Xcode no Mountain Lion sobre SSH. Aqui está como eu fiz isso.

  1. Se você não possui uma conta de desenvolvedor Apple gratuita, registre-se para uma

  2. Faça login em https://developer.apple.com/downloads

  3. Baixe o "Command Line Tools for Xcode" apropriado para sua versão do OSX

    Para mim, isso foi "Ferramentas de Linha de Comando (OS X Mountain Lion) para Xcode - abril de 2014"

  4. Copie o arquivo dmg para o seu controle remoto

    No comando a seguir, estou usando o scp para copiar com segurança o arquivo do meu computador local para o controle remoto chamadoremote

    $ scp ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg remote:Downloads/
  5. ssh para o seu controle remoto

    $ ssh remote
  6. monte o arquivo dmg no controle remoto

    Aqui, estou usando o hdiutil para montar a imagem

    $ hdiutil attach ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg
  7. instale o pacote contido no dmg

    Aqui, o instalador deve ser executado sudoporque este pacote precisa ser instalado no sistema de arquivos raiz

    $ cd /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
    $ sudo installer -pkg Command\ Line\ Tools\ \(Mountain\ Lion\).mpkg -target /
  8. desmonte o arquivo dmg

    $ hdiutil detach /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
  9. exclua o arquivo dmg do controle remoto; opcional

    Não vejo sentido em mantê-lo por perto, mas você pode, se quiser.

    $ rm ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg


3

Isso é bastante antigo, mas para qualquer um que venha com isso, existe um liner simples e embutido para instalar as Ferramentas de Linha de Comando sem a necessidade de fazer o download de um .dmgou .pkgs. Isso está disponível mesmo em uma nova instalação do macOS.

O comando é:

xcode-select --install

De acordo com a manpágina:

Opens a user interface dialog to request automatic installation of the command line developer tools.

Parece estar disponível desde o Xcode 3.0 (OS X 10.5).


11
Não vejo nenhuma opção --install na versão 2311 do xcode-select, página do manual de 16 de novembro de 2011, Mac OS X 10.8.5.
Martin Dorey

Nem eu na versão 2349 do xcode-select, página do manual de 8 de março de 2016.
user44400

1

As ferramentas necessárias estão todas no Xcode.app/Contents/Developer e, se você tiver essa pasta, estará concluindo a instalação, pois os aplicativos OS X podem ser executados de qualquer lugar.

Se você deseja usar o Xcode, basta clicar no ícone ou open -ano caminho para a pasta Xcode.app e você iniciará o aplicativo. A maioria das pessoas move a pasta Xcode.app para / Applications (ou ~ / Applications) para "instalá-la"

Ah - quando você iniciar o Xcode, deseje abrir as preferências, vá para o painel Downloads e instale as ferramentas de linha de comando independentes. Isso coloca a cadeia de ferramentas de compilação em / usr / bin para que você não precise usar xcrun --find gcce xcrun --find makelocalizar o caminho para as ferramentas em relação a onde quer que você solte a pasta Xcode.app.


No entanto, os Utilitários de Linha de Comando também são necessários para que o homebrew funcione. É provavelmente mais fácil de pedir ao proprietário do sistema OS X para instalar o material para você (ou conectar via VNC e faça você mesmo)
nohillside

1

Eu descobri que o Homebrew também instala as ferramentas de linha de comando do Xcode .

O grande benefício para mim é que posso fazê-lo a partir de um terminal (até mesmo ssh) e o instalador não mostra uma UI-Pop-Window , o que me impede de usar o terminal remoto.

Testado com Homebrew versão 2.1.10 (git revision b7d38f; last commit 2019-08-12).

Para mim, essas etapas foram muito mais fáceis, baixando o pacote dmg da apple e copie-o pelo ssh para a máquina de destino.

O comando do instalador irá gerar (copiado do site)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

a seguinte saída:

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following new directories will be created:
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/sbin
/usr/local/share
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Homebrew
/usr/local/Frameworks
==> The Xcode Command Line Tools will be installed.

e

...
Downloading Command Line Tools (macOS Mojave version 10.14) for Xcode
Downloaded Command Line Tools (macOS Mojave version 10.14) for Xcode
Installing Command Line Tools (macOS Mojave version 10.14) for Xcode
Done with Command Line Tools (macOS Mojave version 10.14) for Xcode
...


-1

MOUNT XCODE DMG

tell application "Finder" to open ("Macintosh HD")
tell application "Finder"
    activate
    set target of Finder window 1 to folder "Downloads" of folder "vagrant" of folder "Users" of startup disk
    open document file "{{ osx_xcode_file }}" of folder "Downloads" of folder "vagrant" of folder "Users" of startup disk
end tell

Substitua Xcode "{{osx_xcode_file}}" pela versão / nome do arquivo que você baixou.

Instale o XCODE

tell application "Finder"
    activate "Xcode"
    with timeout of 1000000 seconds
        copy file "Xcode:Xcode.app" to folder "Macintosh HD:Applications"
    end timeout
end tell

Opcionalmente, exclua um XCODE anterior

rm /Applications/Xcode.app causa problemas imprevisíveis

tell application "Finder"
    activate "Applications"
    considering case
        with timeout of 1000000 seconds
            set sourceFolder to POSIX file "/Applications/Xcode.app"
            try
                delete sourceFolder
            on error errorMessage number errorNumber
                set _error to errorMessage
                set _errorNum to errorNumber
            end try
        end timeout
    end considering
end tell

Salve cada arquivo como um scriptname.scpt

execute: / usr / bin / osascript scriptname.scpt Executar como usuário do console (NÃO ROOT)


Como você pode executar isso via ssh? Além disso, como isso é melhor do que apenas as ferramentas de desenvolvedor da linha de comando?
Mark

Olá Mark, temos um requisito específico para instalar o xcode completo. ssh user @ hostname "onascript <caminho / para / arquivo> /myscript.scpt
casibbald 15/02
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.