การติดตั้ง Xcode ผ่านบรรทัดคำสั่ง


27

ฉันเป็นผู้ใช้ Linux และไม่เคยใช้ OSX มาก่อน มีคนถามฉันเพื่อขอความช่วยเหลือในการติดตั้งซอฟต์แวร์บางอย่างบนเซิร์ฟเวอร์ "Lion" OSX ฉันขอให้เขาส่งกระสุน SSH ให้ฉันโดยสมมติว่าเพียงพอ อย่างไรก็ตามสิ่งต่าง ๆ มีความยุ่งยากมากกว่าที่ฉันคิด

ฉันต้องการติดตั้ง homebrew แต่ไม่ได้ติดตั้งเพราะไม่มีซีซีในระบบ หลังจาก google บางตัวฉันคิดว่าฉันต้องติดตั้ง Xcode ฉันเพิ่งดาวน์โหลด xcode 4.5 จากไซต์ผู้พัฒนา apple และติดตั้งบนระบบ มันมี dir Xcode.appพร้อมกับพวงของสิ่งต่าง ๆ ในนั้น ฉันจะไปจากที่นี่ได้อย่างไร

ฉันสามารถติดตั้ง Xcode โดยไม่ต้องมีการเข้าถึงเครื่องได้หรือไม่? ทั้งหมดที่ฉันต้องการคือให้ homebrew ทำงานที่จุดนี้

คำตอบ:


25

คุณอาจจะดีกว่าเพียงติดตั้งเครื่องมือบรรทัดคำสั่งสำหรับนักพัฒนาแบบสแตนด์อโลน (ซึ่งรวมถึงgccและรายการ toolchain สำหรับนักพัฒนามาตรฐานอื่น ๆ ) คุณสามารถรับได้จากการดาวน์โหลด Developer ของ 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 มีส่วนหัวพิเศษและสิ่งต่าง ๆ สำหรับการให้บริการอาคาร GUI และเครื่องมือบรรทัดคำสั่งจะถูกแยกย่อยลงเล็กน้อย / สร้างขึ้นพร้อมกับแยกธงที่แตกต่างกันเล็กน้อยเมื่อรวบรวม แต่โดยทั่วไปแล้ว เผยแพร่ ในทางปฏิบัติฉันไม่เคยเห็นความแตกต่างที่สังเกตได้ว่าเป็นเรื่องสำคัญ AFAIK, Xcode จะดึงแพ็คเกจที่คุณพูดถึงและติดตั้งเพื่อให้คุณมีทั้ง - เวอร์ชัน xcrun ของชุดเครื่องมือและรุ่น / usr / bin ของชุดเครื่องมือ
bmike

มันทำงานแล้ว ฉันเพิ่งติดตั้งชง มีการพิมพ์ผิดในโพสต์ของคุณก็ควรอ่านแทนsudo installer sudo install
Jeroen

@Jeroen ขอบคุณสำหรับการแก้ไข ไม่แน่ใจว่าฉันคิดถึงมันอย่างไร
robmathers

10

ฉันเพิ่งต้องติดตั้งเครื่องมือบรรทัดคำสั่ง Xcode บน Mountain Lion ผ่าน SSH นี่เป็นวิธีที่ฉันทำ

  1. หากคุณไม่ได้มีบัญชีนักพัฒนาแอปเปิ้ลฟรีลงทะเบียนอย่างใดอย่างหนึ่ง

  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. unmountไฟล์ 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อธิบายถึงวิธีการแตกถั่ว
Martin Dorey

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 version 2311, man page ตั้งแต่ 16 พฤศจิกายน 2011, Mac OS X 10.8.5
Martin Dorey

ฉันไม่ได้เลือก xcode-select version 2349, man page ตั้งแต่ 08 มีนาคม 2016
user44400

1

เครื่องมือที่คุณต้องการทั้งหมดอยู่ใน Xcode.app/Contents/Developer และหากคุณมีโฟลเดอร์นั้นคุณจะติดตั้งเสร็จสิ้นเนื่องจากแอปพลิเคชัน OS X สามารถเรียกใช้ได้จากทุกที่

หากคุณต้องการใช้ Xcode เพียงคลิกที่ไอคอนหรือopen -aเส้นทางไปยังโฟลเดอร์ Xcode.app จากนั้นคุณจะเริ่มต้นแอป คนส่วนใหญ่ย้ายโฟลเดอร์ Xcode.app ไปที่ / Applications (หรือ ~ / Applications) เพื่อ "ติดตั้ง"

โอ้ - เมื่อคุณใช้ไฟ Xcode คุณจะต้องเปิดการตั้งค่าไปที่บานหน้าต่างดาวน์โหลดและติดตั้งเครื่องมือบรรทัดคำสั่งแบบสแตนด์อะโลน สิ่งนี้วางคอมไพล์ toolchain ไว้ใน / usr / bin ดังนั้นคุณไม่จำเป็นต้องใช้xcrun --find gccและxcrun --find makeค้นหาพา ธ ไปยังเครื่องมือที่เกี่ยวข้องกับทุกที่ที่คุณทิ้งโฟลเดอร์ Xcode.app


อย่างไรก็ตามจำเป็นต้องมีอรรถประโยชน์บรรทัดคำสั่งเพื่อให้ homebrew ทำงาน มันอาจจะง่ายที่สุดในการขอให้เจ้าของระบบ OS X ติดตั้งสิ่งต่าง ๆ สำหรับคุณ (หรือเชื่อมต่อผ่าน VNC และทำด้วยตัวเอง)
nohillside

1

ฉันพบว่าHomebrewติดตั้งเครื่องมือบรรทัดคำสั่ง Xcodeด้วย

ประโยชน์ใหญ่สำหรับฉันที่ฉันสามารถทำได้จากเทอร์มินัล (แม้ ssh) และโปรแกรมติดตั้งไม่แสดง UI-Pop-Windowซึ่งบล็อกฉันจากการใช้งานกับเทอร์มินัลระยะไกล

ทดสอบกับHomebrewเวอร์ชัน2.1.10 (แก้ไข git b7d38f; กระทำครั้งสุดท้าย 2019-08-12)

สำหรับฉันแล้วขั้นตอนนั้นง่ายกว่ามากจากนั้นดาวน์โหลดแพ็คเกจ dmg จากแอปเปิ้ลและคัดลอกมันด้วย 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

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

แทนที่ 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 เรียกใช้ในฐานะผู้ใช้คอนโซล (ไม่ใช่ ROOT)


คุณจะเรียกใช้สิ่งนี้ผ่าน ssh ได้อย่างไร? ด้วยวิธีนี้จะดีกว่าเครื่องมือบรรทัดคำสั่งสำหรับนักพัฒนาเท่านั้น
user151019

สวัสดี Mark เรามีข้อกำหนดเฉพาะเพื่อให้มีการติดตั้ง xcode อย่างสมบูรณ์ ssh user @ hostname "onascript <path / to / file> /myscript.scpt
casibbald
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.