Comment mettre à jour Xcode à partir de la ligne de commande

326

J'essaie de mettre à jour Xcode à partir de la ligne de commande. Au départ, j'ai essayé de courir:

 xcode-select --install

qui a abouti à ce message:

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

Donc, la question demeure, existe-t-il un moyen de mettre à jour Xcode à partir de la ligne de commande?

psvj
la source
@RohitPradhan ça marche?
psvj
@psjv ... pas encore essayé,
Rohit Pradhan
Donc, évidemment, vous pouvez installer à partir de l'App Store ... Cependant, j'ai l'impression que l'utilisation d'une commande de terminal sera plus rapide et plus efficace que l'utilisation de l'Appstore (GUI?). Quelqu'un peut-il s'appuyer sur cette idée? J'ai mis l'interface graphique entre parenthèses parce que je ne sais pas si j'utilise la bonne terminologie.
Bozeyman9000

Réponses:

409

Ce que vous utilisez réellement est la commande pour installer les outils de ligne de commande Xcode - xcode-select --install. D'où le message d'erreur que vous avez reçu - les outils sont déjà installés.

La commande dont vous avez besoin pour mettre à jour Xcode est softwareupdate command [args ...]. Vous pouvez utiliser softwareupdate --listpour voir ce qui est disponible, puis softwareupdate --install -apour installer toutes les mises softwareupdate --install <product name>à jour ou pour installer uniquement la mise à jour Xcode (si disponible). Vous pouvez obtenir le nom de la commande list.

Comme cela a été mentionné dans les commentaires, voici la page de manuel de l' softwareupdateoutil.

Mise à jour 2019

De nombreux utilisateurs rencontrent des problèmes softwareupdate --install -aqui, en fait, ne seront pas mis à jour vers la dernière version de Xcode . La cause en est probablement une mise à jour macOS en attente (comme @brianlmerritt l'a souligné ci-dessous). Dans la plupart des cas, la mise à jour de macOS en premier résoudra le problème et permettra également à Xcode d'être mis à jour.

Mise à jour des outils de ligne de commande Xcode

Une grande partie des utilisateurs atterrissent sur cette réponse pour tenter de mettre à jour les outils de ligne de commande Xcode . Le moyen le plus simple d'y parvenir est de supprimer l'ancienne version des outils et d'installer la nouvelle.

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

Une fenêtre contextuelle apparaîtra et vous guidera tout au long du processus.

Vel Genov
la source
8
Hmm, pour moi, pour une raison quelconque, la mise à jour est répertoriée dans l'App Store, mais pas dans la ligne de commande.
Gino Pane
2
--listet --install -a+1
Jacksonkr
2
@GinoPane Same. softwareupdate --list a déclaré aucune mise à jour même si l'App Store a montré une mise à jour pour Xcode.
Digital Impermanence
64
Lors des tests, softwareupdate --install -ane met même pas à jour Xcode, donc la réponse est totalement fausse, semble-t-il.
Charlie Gorichanaz
4
Ran softwareupdate -i -rpour installer l' [recommended]installation uniquement, qui était les outils de ligne de commande. Il a téléchargé deux fois, installé une fois, puis terminé. Voyant que cela n'a pas résolu le problème, j'ai réanimé softwareupdate --listet la recommandation a persisté. Dans l'AppStore, la mise à jour logicielle avait disparu, puis était réapparue. En le faisant via AppStore, j'ai été invité à accepter les conditions d'utilisation. Après avoir accepté, cela a semblé fonctionner. Course répétée softwareupdate --listet il s'est révélé comme toujours recommandé ...
GMarx
189

J'ai eu le même problème et j'ai résolu en procédant comme suit:

  1. suppression des anciens outils ( $ sudo rm -rf /Library/Developer/CommandLineTools)
  2. réinstallez les outils de ligne de commande xcode ( $ xcode-select --install).

Après ces étapes, vous verrez une fenêtre pop pour installer la nouvelle version des outils.

ipinak
la source
3
Merci mec, cette solution fonctionne aussi pour moi. J'ai passé une journée entière à essayer de surmonter cela.
Adebayo
1
@ipinak La suppression de l'intégralité du dossier CommandLineTools n'est-elle pas risquée?
Aryan Venkat
1
@AryanVenkat pourquoi cela devrait-il être risqué? Vous pouvez les réinstaller à tout moment.
ipinak
2
Cela a semblé fonctionner pour moi: les commandes se sont déroulées sans erreur, la fenêtre contextuelle s'est terminée et un nouveau /Library/Developer/CommandLineToolsrépertoire a été installé. Cependant, le nouveau répertoire était également obsolète (de Xcode 7.3 au lieu de la version actuelle 9.4), il n'a donc pas résolu mon problème. J'ai fini par rechercher des outils de développement sur developer.apple.com/download/more et télécharger à Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1partir de là.
jbyler
25
Je n'ai pu supprimer / Library / Developer / CommandLineTools qu'en ajoutant un sudo, il est donc devenusudo rm -rf /Library/Developer/CommandLineTools
George
45

J'ai rencontré le même problème lorsque j'ai désinstallé la version complète de Xcode pour réinstaller la version CLI. Ma solution était:

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

Cyril Bouthors
la source
Parfois, la méthode de la force brute est la méthode la plus simple et la moins complexe (en particulier dans AppleLand) - mais elle s'est quand même retrouvée avec une version plus ancienne
nhed le
Après avoir mis à niveau un appareil vers Catalina, je n'ai pas pu installer de cocoapods avant de le faire. Mais cela semble avoir conduit à d'autres problèmes, avec xcodebuild nécessitant xcode, mais le répertoire de développeur actif '/ Library / Developer / CommandLineTools' est une instance d'outils de ligne de commande. J'ai ensuite dû exécuter sudo xcode-select -rpour réinitialiser le chemin des outils de ligne de commande.
Lawrence Weru
20

Cela m'a sauvé la journée. Tapez simplement les commandes

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

Référence: https://forums.developer.apple.com/thread/104296

Roy Huang
la source
Je ne peux pas dire que c'est la bonne réponse en soi, car j'ai également essayé de nombreuses autres solutions fournies ici, mais ce n'est qu'après avoir utilisé cette solution que le problème a été résolu, merci!
jupiar
14

J'ai eu cette erreur après avoir supprimé Xcode. Je l'ai corrigé en réinitialisant le chemin des outils de ligne de commande avec sudo xcode-select -r.

Avant:

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

Après:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files
Navin
la source
1
Cela m'a arrangé. J'ai également supprimé Xcode et rencontré l'erreur ci-dessus. Bien que j'aie essayé de réinstaller uniquement les outils de ligne de commande en utilisant les suggestions d'autres réponses, c'est ce qui a finalement résolu le problème.
Ryan Marten
11
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
Minato
la source
3
Lors de l'ajout d'une réponse à une question plus ancienne avec des réponses existantes, il est utile de souligner le nouvel aspect de votre réponse et également de déterminer si le passage du temps et la sortie de la nouvelle version ont un impact sur la réponse.
Jason Aller
Confirmé que cela fonctionne sur Mac OS Catalina beta. Il lance une fenêtre d'installation pour télécharger le logiciel requis après avoir approuvé l'accès.
Jas
8

La réponse de @Vel Genov est correcte, sauf lorsque la version de Xcode ne peut pas être mise à jour car il s'agit de la dernière version de votre version actuelle de Mac OS. Si vous savez qu'il existe un Xcode plus récent (par exemple, il ne chargera pas une application sur un appareil avec une version récente d'iOS), il est nécessaire de mettre à niveau Mac OS.

Remarque supplémentaire pour ceux comme moi avec l'ancien Mac Pro 5.1. La mise à niveau vers Mojave a nécessité l'installation du GPU métallique (Sapphire AMD Radeon RX 560 dans mon cas), mais assurez-vous que seul le moniteur HDMI est installé (pas 4K! 1080 uniquement). Ce n'est qu'alors que Mojave a déclaré que la mise à jour du micrologiciel était requise et a arrêté l'ordinateur. Maintenez le bouton d'alimentation long de 2 minutes et tout s'est bien amélioré après cela!

brianlmerritt
la source
6

Après avoir installé les outils de ligne de commande (avec xcode-select --install), tapez:

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

Vous devriez pouvoir exécuter git maintenant:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)
Iuri Gavronski
la source
Cela m'a sauvé la vie - cela fonctionne en 2019 car les autres réponses ne fonctionnent plus
Nick
Je peux confirmer, cela fonctionne pour moi dans la dernière version de Mac Catlina (10.15.4 (19E287))
Gaurav Sarma
5

J'essayais d'utiliser l'application React-Native Expo avec create-react-native-app mais pour une raison quelconque, cela lancerait mon simulateur et se bloquerait simplement sans charger l'application. La réponse ci-dessus par ipinak ci-dessus réinitialise les outils CLI Xcode car la tentative de mise à jour vers la dernière CLI Xcode ne fonctionnait pas. les deux commandes sont:

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

Ce processus prend du temps à cause du téléchargement. Je laisse ceci ici pour tout autre recherche de ce correctif React-Native Expo spécifique.

RawBData
la source
4

Xcode :: Install est un simple logiciel cli qui vous permet d'installer / sélectionner une version spécifique de Xcode.

Vous pouvez l'installer à l'aide de gem install xcode-install
Ensuite, vous pourrez installer une version spécifique avec xcversion install 9.4.1
Et si vous avez plus d'une version installée, vous pouvez changer de version avecxcversion select 9.4

Vous pouvez trouver plus d'informations sur https://github.com/KrauseFx/xcode-install

obit
la source
1

Pour ceux qui ont ce problème après la mise à jour vers Catalina, exécutez simplement cette commande sur votre terminal

sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install;
Adeojo Emmanuel IMM
la source
1
Cela n'ajoute rien aux autres réponses qui mentionnent déjà ces commandes exactes.
bfontaine
1

Bonjour, je l'ai résolu comme ceci:

Installez Application> Xcode.app> Contenu> Ressources> Packages> XcodeSystemResources.pkg.

Abdulkadir Turan
la source
0

La version 11.2.1 de xCode est nécessaire pour créer une application dans l'iPad 13.2.3, lorsque j'essaie directement de mettre à niveau de xcode 11.1 vers 11.2.1 via l'App Store, il est frappé, donc après quelques recherches, j'ai trouvé une solution pour mettre à niveau en supprimant le xcode existant du système

Ici, j'ajoute les étapes de mise à niveau après la désinstallation du xcode existant.

  1. Allez dans Applications et identifiez Xcode et faites-le glisser dans la corbeille.
  2. Vider la corbeille pour supprimer définitivement Xcode.
  3. Maintenant, allez dans le dossier ~ / Library / Developer / et supprimez complètement le contenu Utilisez sudo rm -rf ~ / Library / Developer / pour éviter tout problème d'autorisation lors de la suppression
  4. Enfin, supprimez tout répertoire de cache associé à xcode dans le chemin ~ / Library / Caches / com.apple.dt.Xcode sudo rm -rf ~ / Library / Caches / com.apple.dt.Xcode / *
  5. Après avoir terminé les étapes ci-dessus, vous pouvez facilement installer xcode à partir de l'App Store, qui installera la dernière version actuelle de xcode

Remarque: veuillez effectuer une sauvegarde de vos projets existants avant d'apporter les modifications ci-dessus

Ajith
la source