Встановлення Xcode за допомогою командного рядка


27

Я користувач Linux і раніше не використовував OSX. Хтось попросив мене допомогти з встановленням певного програмного забезпечення на сервері OSX "Lion". Я попросив його дати мені оболонку SSH, припускаючи, що цього буде достатньо. Однак все складніше, ніж я думав.

Я хотів встановити домашню мову, але він не встановився, оскільки в системі не було копчиків. Після деякого google, я думаю, мені потрібно встановити Xcode. Щойно я завантажив xcode 4.5 з сайту розробника Apple і встановив його в системі. Він містить реж Xcode.appіз купою речей у ньому. Як мені піти звідси?

Чи можна встановити Xcode без фізичного доступу до машини? Все, що мені дуже хочеться, це запустити домашню каву в цей момент.

Відповіді:


25

Вам може бути краще просто встановити окремі інструменти командного рядка для розробників (що включає gccта інші стандартні елементи інструментарію для розробників). Ви можете отримати його з завантажень для розробників Apple (для яких потрібен безкоштовний обліковий запис розробника). На жаль, прямого посилання немає, але просто шукайте інструменти командного рядка, і ви знайдете його (зауважте, що для Lion та Mountain Lion є різні завантаження).

Завантаження - це DMG. Встановити , що і ви знайдете .mpkgфайл, який можна встановити з допомогою командного рядка : sudo installer -pkg "Command Line Tools.mpkg" -target /.


+1 для пам’яті про голий пакет. +3 для установки з терміналу - я трохи відредагую свою відповідь, оскільки Xcode вже завантажений, інструменти є в Xcode.app/Contents/Developer і їх можна легко скопіювати на зручний шлях для запуску.
bmike

Так, я впевнений, як / якщо інструменти, що входять до пакету Xcode, відрізняються від самостійного завантаження. Імовірно, дещо відрізняється, враховуючи, що в Xcode також є опція інструментів для завантаження. У будь-якому випадку, якщо ви починаєте з нуля і хочете, щоб "чиста" установка виконувалась лише з командного рядка, це, мабуть, шлях.
robmathers

2
Я вважаю, що в останній раз, коли я перевірив, інструменти Xcode мають додаткові заголовки та речі для обслуговування побудови графічного інтерфейсу, а інструменти командного рядка знімаються трохи / будуються окремо, дещо різними прапорами при компілюванні, але, як правило, тією ж версією, що і основний Xcode випуски. На практиці я ніколи не бачив, щоб відмінності помітили, не кажучи вже про значення. AFAIK, Xcode знімає згаданий вами пакунок і встановлює його, щоб у вас було обидві - версія xcrun набору інструментів та / usr / bin версія набору інструментів.
bmike

Так, це спрацювало. Я щойно встановив заварку. У вашому дописі є помилка друку, вона повинна читати sudo installerзамість sudo install.
Єроен

@ Джероен спасибі за це, виправлено. Не впевнений, як я пропустив це.
robmathers

10

Нещодавно мені довелося встановити інструменти командного рядка Xcode на Mountain Lion через SSH. Ось як я це зробив.

  1. Якщо у вас немає безкоштовного облікового запису розробника Apple, зареєструйте його

  2. Увійдіть до https://developer.apple.com/downloads

  3. Завантажте "Інструменти командного рядка для Xcode", відповідні вашій версії OSX

    Для мене це був "Інструменти командного рядка (OS X Mountain Lion) для Xcode - квітень 2014 року"

  4. Скопіюйте файл dmg на пульт

    У наступній команді я використовую scp, щоб надійно скопіювати файл з мого локального комп'ютера на віддалений ім'яremote

    $ scp ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg remote:Downloads/
  5. ssh на пульт

    $ ssh remote
  6. змонтуйте файл dmg на пульті

    Тут я використовую hdiutil для монтажу зображення

    $ hdiutil attach ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg
  7. встановіть пакет, що міститься в dmg

    Тут потрібно запустити інсталятор,sudo оскільки цей пакет потрібно встановити в кореневій файловій системі

    $ cd /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
    $ sudo installer -pkg Command\ Line\ Tools\ \(Mountain\ Lion\).mpkg -target /
  8. відключити файл dmg

    $ hdiutil detach /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)
  9. видалити файл dmg з пульта; необов’язково

    Я не бачу жодної мети тримати його навколо, але ви можете, якщо хочете.

    $ rm ~/Downloads/command_line_tools_for_osx_mountain_lion_april_2014.dmg

adcdownload.apple.com/Developer_Tools/Xcode_8.3/Xcode_8.3.xip більше не є .dmg. stackoverflow.com/a/39489446/18096 пояснює, як зламати цю гайку.
Мартін Дорей

4

Це досить старе, але для кожного, хто доходить до цього, є простий, вбудований однолінійний інсталятор для встановлення інструментів командного рядка без необхідності завантаження будь-якого .dmgабо .pkgs. Це доступно навіть у новому встановленні macOS.

Команда така:

xcode-select --install

За даними manсторінки:

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

Здається, вона була доступна з часу існування Xcode 3.0 (OS X 10.5).


1
Я не бачу - встановлення комутатора у xcode-select версії 2311, сторінка man від 16 листопада 2011 року, Mac OS X 10.8.5.
Мартін Дорей

Я також не в xcode-select версії 2349, сторінка man від 08 березня 2016 р.
user44400

1

Потрібні інструменти є у Xcode.app/Contents/Developer, і якщо у вас є ця папка, ви закінчуєте встановлення, оскільки програми X X можуть працювати з будь-якого місця.

Якщо ви хочете використовувати Xcode, просто натисніть на піктограму або open -aшлях до папки Xcode.app, і ви запустите додаток. Більшість людей переміщують папку Xcode.app в / Додатки (або ~ / Програми), щоб "встановити"

О, коли ви запускаєте Xcode, ви хочете відкрити налаштування, перейдіть до області завантажень та встановіть окремі інструменти командного рядка. Це розміщує ланцюжок інструментів компіляції в / usr / bin, тому вам не доведеться використовувати xcrun --find gccта xcrun --find makeзнаходити шлях до інструментів відносно того місця, де ви скинули папку Xcode.app.


Тим не менше, утиліти командного рядка також потрібні, щоб примусити домашню мову працювати. Напевно, найпростіше попросити власника системи OS X встановити матеріал для вас (або підключитися через VNC і зробити це самостійно)
nohillside

1

Я дізнався, що Homebrew також встановлює інструменти командного рядка Xcode .

Велика користь для мене полягає в тому, що я можу це зробити з терміналу (навіть ssh), а інсталятор не показує UI-Pop-Window , що блокує мене від використання з віддаленим терміналом.

Тестовано з домашньою версією 2.1.10 (git revision b7d38f; останнє завершення 2019-08-12).

Для мене ці кроки були набагато простішими, тоді завантажив пакет dmg з apple і скопіював його на ssh на цільову машину.

Команда інсталятора згенерує (скопіюється з веб-сайту)

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

наступний вихід:

==> 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.

і

...
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

МОНТА 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

Замініть Xcode "{{osx_xcode_file}}" на завантажену вами версію / ім'я файлу.

Встановіть 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

Необов’язково видалити попередній XCODE

rm /Applications/Xcode.app викликає незвичні проблеми

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

Збережіть кожен файл як scriptname.scpt

run: / usr / bin / osascript scriptname.scpt Запустити як користувач консолі (НЕ ВИКОРИСТИЙ)


Як можна запустити це через ssh? Крім того, як це краще, ніж у командному рядку лише інструменти для розробників?
користувач151019

Привіт Марку, у нас є конкретна вимога встановити повний xcode на місці. ssh user @ hostname "onascript <шлях / до / файл> /myscript.scpt
casibbald
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.