通过命令行安装Xcode


27

我是Linux用户,以前从未使用过OSX。有人问我在OSX“ Lion”服务器上安装某些软件的帮助。我要求他给我一个SSH shell,前提是这样就足够了。但是事情比我想的要棘手。

我想安装自制软件,但由于系统上没有cc,所以没有安装。经过一些谷歌,我想我需要安装Xcode。我刚刚从Apple开发人员站点下载了xcode 4.5,并将其安装在系统上。它包含一个包含Xcode.app一堆东​​西的目录。我怎么从这里走?

是否可以在不物理访问计算机的情况下安装Xcode?我真正想要的只是在这一点上运行自制程序。

Answers:


25

您可能只安装独立的开发人员命令行工具(包括gcc其他标准开发人员工具链项目)会更好。您可以从Apple的Developer Downloads(需要一个免费的Developer帐户)获得它。不幸的是,没有直接链接,只是搜索命令行工具,您会找到它(请注意,Lion和Mountain Lion的下载不同)。

该下载是DMG。挂载该.mpkg文件,您会找到一个文件,可以通过以下命令行进行安装sudo installer -pkg "Command Line Tools.mpkg" -target /


+1用于牢记裸包。+3可以从终端安装-由于Xcode已经下载,我将编辑一下答案,这些工具位于Xcode.app/Contents/Developer中,可以轻松复制到方便的运行路径。
bmike

是的,我确定Xcode软件包中包含的工具与独立下载有何不同。假定Xcode也具有下载工具选项,则可能有所不同。无论如何,如果您是从头开始并且只想从命令行安装“干净”的服务器,那么这可能是可行的方法。
robmathers 2012年

2
我相信上次检查时,Xcode工具具有额外的头文件和用于GUI构建的东西,并且在编译时,命令行工具被精简了一些/分别构建,并带有略有不同的标志,但通常与主要Xcode版本相同发布。在实践中,我从未见过这些差异被注意到,更不用说重要了。AFAIK,Xcode下拉您提到的软件包并进行安装,以使您同时拥有-工具集的xcrun版本和工具集的/ usr / bin版本。
bmike

是的,它起作用了。我刚安装了brew。您的帖子中有错字,应改为sudo installer而不是sudo install
Jeroen

@Jeroen对此表示感谢,已修复。不知道我怎么想念它。
robmathers 2012年

10

我最近不得不通过SSH在Mountain Lion上安装Xcode命令行工具。这是我的方法。

  1. 如果您没有免费的Apple开发人员帐户,请注册一个

  2. 登录https://developer.apple.com/downloads

  3. 下载适用于您的OSX版本的“ Xcode命令行工具”

    对我来说,这是“用于Xcode的命令行工具(OS X Mountain Lion)-2014年4月”

  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


4

这是很老,但任何人谁谈到这个,有一个简单,内置的一个班轮,无需下载任何安装命令行工具.dmg.pkg秒。即使在全新安装的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
我看到在2011年11月16日的Mac OS X 10.8.5的xcode-select版本2311,手册页中没有--install开关。
Martin Dorey

我也不在2016
。– user44400

1

您需要的所有工具都在Xcode.app/Contents/Developer中,并且如果您有该文件夹,则由于OS X应用程序可以在任何地方运行,因此安装完成。

如果要使用Xcode,只需单击图标或open -a文件夹Xcode.app的路径,即可启动该应用程序。大多数人将Xcode.app文件夹移到/ Applications(或〜/ Applications)中以“安装”它

哦-启动Xcode时,您需要打开首选项,转到“下载”窗格并安装独立的命令行工具。这个地方的编译工具链在/ usr / bin中,这样你就不必使用xcrun --find gccxcrun --find make定位路径相对于无论你扔下Xcode.app文件夹的工具。


但是,也需要命令行实用工具来使自制程序起作用。让OS X系统的所有者为您安装东西(或通过VNC连接并自己完成)可能是最简单的方法
nohillside

1

我发现Homebrew也安装了Xcode命令行工具

对我来说,最大的好处是我可以从终端(甚至是ssh)执行此操作,并且安装程序没有显示UI-Pop-Window,这阻止了我与远程终端一起使用。

已使用Homebrew 2.1.10版进行测试(git版本b7d38f;最后提交2019-08-12)。

对我来说,步骤要容易得多,然后从Apple下载dmg软件包,然后通过ssh将其复制到目标计算机。

installer命令将生成(从网站复制)

/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

运行:/ usr / bin / osascript scriptname.scpt以控制台用户身份运行(不是ROOT)


如何通过ssh运行它?还有什么比仅命令行开发人员工具更好?
user151019 '16

嗨,马克,我们有一个特定的要求来安装完整的xcode。ssh user @ hostname“ onascript <path / to / file> /myscript.scpt
casibbald
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.