如何从命令行更新Xcode


325

我正在尝试从命令行更新Xcode。最初,我尝试运行:

 xcode-select --install

导致此消息:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

所以问题仍然存在,有没有办法从命令行更新Xcode?



@RohitPradhan起作用吗?
psvj

@psjv ...尚未尝试,
Rohit Pradhan

因此,显然您可以从应用程序商店安装...但是,我有一种直觉,即使用终端命令比使用应用程序商店(GUI?)更快,更高效。任何人都可以基于这个想法吗?我将GUI放在括号内,因为我不知道即时通讯是否使用正确的术语。
Bozeyman9000 '18 -4-12

Answers:


409

您实际使用的是安装Xcode命令行工具-的命令xcode-select --install。因此,您收到的错误消息-工具已经安装。

您需要更新Xcode的命令是softwareupdate command [args ...]。您可以softwareupdate --list用来查看可用的内容,然后softwareupdate --install -a安装所有更新或softwareupdate --install <product name>仅安装Xcode更新(如果可用)。您可以从list命令获取名称。

正如评论中提到的,这里是该softwareupdate工具的手册页。

2019更新

许多用户遇到的问题softwareupdate --install -a实际上不会更新到最新版本的Xcode。原因很可能是正在进行的macOS更新(如下面的@brianlmerritt所指出)。在大多数情况下,先更新macOS即可解决该问题,并允许更新Xcode

更新Xcode命令行工具

很大一部分用户着眼于此答案,以尝试更新Xcode命令行工具。实现此目的的最简单方法是删除旧版本的工具,然后安装新版本。

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

将会出现一个弹出窗口,并指导您完成其余的过程。


8
嗯,由于某种原因,我的更新在App Store中列出,但在命令行中没有列出。
吉诺·潘

2
--list--install -a+1
Jacksonkr,2017年

2
@GinoPane同样。softwareupdate --list表示没有更新,即使App Store显示了Xcode的更新。
数字无常

64
经过测试,softwareupdate --install -a甚至没有更新Xcode,因此答案似乎是完全错误的。
Charlie Gorichanaz

4
softwareupdate -i -r安装[recommended]只安装,这是命令行工具。它下载了两次,安装一次,然后完成。看到它不能解决问题,我重新执行softwareupdate --list了建议。在AppStore中,软件更新已消失,然后重新出现。通过AppStore完成此操作后,系统提示我接受用户条款。接受后,它似乎可以工作。重复跑步softwareupdate --list,它依旧建议显示...
GMarx '17

189

我遇到了同样的问题,并通过执行以下操作解决了问题:

  1. 删除旧工具($ sudo rm -rf /Library/Developer/CommandLineTools
  2. 再次安装xcode命令行工具($ xcode-select --install)。

完成这些步骤后,您将看到一个弹出窗口,用于安装工具的新版本。


3
谢谢,这个解决方案也对我有用。我花了一整天的时间来克服这个问题。
阿德巴约

1
@ipinak删除整个CommandLineTools文件夹是否有风险?
Aryan Venkat

1
@AryanVenkat为什么要冒险?您可以随时重新安装它们。
ipinak

2
这似乎对我有用:命令运行无误,弹出窗口运行完毕,并/Library/Developer/CommandLineTools安装了新目录。但是,新目录也已经过时(从Xcode 7.3代替当前的9.4),所以它不能解决我的问题。我结束了寻找的开发工具developer.apple.com/download/more和下载Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1从那里。
jbyler

25
我只能通过添加sudo来删除/ Library / Developer / CommandLineTools,因此它变成了sudo rm -rf /Library/Developer/CommandLineTools
George

45

当我卸载完整版本的Xcode以重新安装CLI版本时,遇到了相同的问题。我的解决方法是:

sudo xcode-select -s /Library/Developer/CommandLineTools


有时,蛮力方式是最简单,最不复杂的方式(在AppleLand中尤其如此)-但是仍然以较旧的版本
结尾

将设备升级到Catalina后,直到执行此操作,我才能安装cocoapods。但这似乎导致了进一步的问题,xcodebuild需要使用xcode,但是活动的开发人员目录'/ Library / Developer / CommandLineTools'是命令行工具实例。然后,我不得不运行sudo xcode-select -r以重置命令行工具路径。
劳伦斯·韦鲁

20

这挽救了我的一天。只需输入命令

cd  /Library/Developer/CommandLineTools/Packages/;
open macOS_SDK_headers_for_macOS_10.14.pkg

参考:https : //forums.developer.apple.com/thread/104296


我不能说这本身就是正确的答案,因为我还尝试了此处提供的许多其他解决方案,但是只有在使用此解决方案后,问题才得以解决,谢谢!
jupiar

14

删除Xcode后出现此错误。我通过使用重置命令行工具路径来修复它sudo xcode-select -r

之前:

navin@Radiant ~$ /usr/bin/clang
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist
Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.
See `man xcode-select` for more details.

navin@Radiant ~$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

后:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files

1
这为我解决了。我还删除了Xcode并遇到了以上错误。虽然我确实尝试使用其他答案中的建议来仅重新安装命令行工具,但这最终解决了问题。
Ryan Marten

11
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install

3
在使用现有答案为较旧的问题添加答案时,指出您的答案将解决哪些新问题,以及指出时间的流逝和新版本的发布是否会对答案产生影响,这很有用。
詹森·艾勒

确认此功能适用于Mac OS Catalina beta。批准访问后,它将启动安装窗口以下载所需的软件。
Jas

8

@Vel Genov的答案是正确的,除非无法更新Xcode的版本,因为它是您当前Mac OS版本的最新版本。如果您知道有更新的Xcode(例如,它不会将应用程序加载到具有最新版本的iOS的设备上),那么有必要先升级Mac OS。

对于像我一样使用旧版Mac Pro 5.1的用户,请注意。升级到Mojave要求安装金属GPU(在我的情况下为蓝宝石AMD Radeon RX 560),但请确保仅安装了HDMI监视器(而非4K!1080)。只有这样,安装Mojave才说需要更新固件并关闭计算机。长按2分钟的电源按钮,之后一切都变好了!


6

安装命令行工具(带有xcode-select --install)后,键入:

sudo xcode-select --switch /Library/Developer/CommandLineTools/

您现在应该可以运行git了:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)

这救了我的命-这部作品在2019年其他的答案不再起作用
尼克

我可以证实,这是在苹果Catlina的最新版本为我工作(10.15.4(19E287))
拉夫萨尔马

5

我试图将React-Native Expo应用程序与create-react-native-app一起使用,但由于某种原因,它将启动我的模拟器,并且在不加载该应用程序的情况下挂起。上面ipinak的上述回答重置了Xcode CLI工具,因为尝试更新到最新的Xcode CLI无效。这两个命令是:

rm -rf /Library/Developer/CommandLineTools
xcode-select --install

由于下载,此过程需要时间。我将其留在这里,否则将搜索此特定的React-Native Expo修复程序。


4

Xcode :: Install是一个简单的CLI软件,可让您安装/选择特定的Xcode版本。

您可以使用进行安装。gem install xcode-install
然后,您将可以使用安装特定版本xcversion install 9.4.1
。如果您安装了多个版本,则可以使用xcversion select 9.4

您可以在https://github.com/KrauseFx/xcode-install中找到更多信息。


1

对于更新到Catalina之后遇到此问题的用户,只需在终端上执行此命令

sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install;

1
这不会在已经提到这些确切命令的其他答案中添加任何内容。
bfontaine


0

xCode版本11.2.1是在iPad 13.2.3中构建应用程序所必需的,当我直接尝试通过App Store从xcode 11.1升级到11.2.1时,它就被击中了,因此经过一番研究,我找到了一种解决方案,可以通过删除系统中现有的xcode

因此,我在此处添加了卸载现有xcode后升级的步骤。

  1. 前往应用程式并标识Xcode并将其拖到垃圾箱。
  2. 清空垃圾桶以永久删除Xcode。
  3. 现在转到〜/ Library / Developer /文件夹并完全删除内容使用sudo rm -rf〜/ Library / Developer /避免删除时出现任何权限问题
  4. 最后,在路径〜/ Library / Caches / com.apple.dt.Xcode中删除与xcode关联的所有缓存目录sudo rm -rf〜/ Library / Caches / com.apple.dt.Xcode / *
  5. 完成上述步骤后,您可以从App Store轻松安装xcode,它将安装最新版本的xcode

注意:进行上述更改之前,请备份您现有的项目

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.