安装Ruby后,MAC OS X上的无效活动开发人员路径无效


84

我收到此错误:

xcrun: error: invalid active developer path (/Applications/Xcode.app), missing xcrun at: /Applications/Xcode.app/usr/bin/xcrun

解决方案有效,但是在关闭我的终端并重新打开它之后,该错误再次发生;然后,每次打开新的终端窗口时,我都必须运行相同的命令。

我如何应用这些更改,以便在关闭终端窗口后将其保存?


1
我喜欢每个人都在发布要遵循的步骤,但没有一个人首先诊断出问题。不要给人们一百零一条命令来尝试破坏他们的计算机状态。诊断然后治疗。
瑞安

@Ryan,请然后诊断:)
David Lambl '19

1
发布“解决方案”的人有责任知道它为什么起作用,或者至少发布免责声明,以便遵循“解决方案”的任何人都知道这是一个可能引起潜在错误的大黑匣子。至少需要发布源并说明源具有诊断。
瑞安

@Ryan Understood,我认为这是一个公平的观点。我会很乐意将我接受的答案更新为也包含问题诊断的答案。但是,我确实怀疑导致此特定问题的原因已在整个macOS的各个版本中转移-以及许多根本原因,其中一些原因比其他原因更为琐碎。但是,如果有人发布了运行时带有诊断的环境,并采取措施修复问题,我将根据此标准更新可接受的答案。
David Lambl

Answers:


181

更新到OS X El Capitan后,我开始出现相同的错误。
就我而言,我要做的就是安装它:

sudo xcode-select --install

它对我来说很好。


3
El Capitan升级后,这对我有用。谢谢。
2015年

12
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Danut Pralea 2015年

@DanutPralea同样的问题,您的问题得到解决了吗?
斯里尼'16

1
对于已经安装了命令行工具的问题,这应该可以工作:1.删除旧工具($ rm -rf / Library / Developer / CommandLineTools)2.再次安装xcode命令行工具($ xcode-select --install)。完成这些步骤后,您将看到一个弹出窗口,用于安装工具的新版本。
Shuvo

5
更新到MacOS Mojave后,这对我有用。我没有用sudo
焚化炉

61

[更新] 以下步骤适用于OS X 10.10(Yosemite)。那些由于升级到10.11(El Capitan)而遇到这种情况的人似乎只需要 按照已接受的答案中的描述运行即可sudo xcode-select --install

我发现了一个建议,在这里这表明

sudo xcode-select -switch /

作为解决方法。但是,这引发了开发人员路径无效的错误。

相反,对我来说,我将其修改为

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/

(这是两个引用的链接解决方案的混合),并且可以正常工作。

[编辑]

尝试使用

xcode-select --print-path

如果/Applications/Xcode.app/Contents/Developer/对您仍然无效,则可以找到您的开发人员路径。


1
这次真是万分感谢!更新到Xcode 7.0 beta后遇到了这个问题
Charles Lillo

7
我也收到 xcode-select: error: invalid developer directory '/Applications/Xcode.app/Contents/Developer/'错误消息,(我在MAC El Capitan上)
TMKasun

1
@DavidLambl没有帮助。仍然无效的目录。
sevenseacat

4
@DavidLambl谢谢,我尝试了一下,但是没有用,反而xcode-select --install为我工作。
TMKasun

1
我尝试使用,xcode-select --install但提示:xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Danut Pralea 2015年

22

我知道这已经很老了,但是我遇到了同样的问题,然后我通过执行一些额外的步骤来解决了这个问题。当终端无法找到命令行工具的实际路径时,就会出现问题。

  1. 如果您拥有Xcode,然后将其删除,则Terminal指的是Xcode文件夹内的命令行工具。尝试使用此命令并检查您的路径是xcode-select --print-path。这很可能会打印/Applications/Xcode.app/Contents/Developer
  2. 现在要解决此问题,请重新安装xcode的命令行工具。最初使用删除所有以前的安装sudo rm -rf /Library/Developer/CommandLineTools
  3. 然后安装命令行工具sudo xcode-select --install 现在,最后一步是使用sudo xcode-select -switch /Library/Developer/CommandLineTools/此方法将CLT的路径更改为实际路径。

13

将macOS Mojave更新为macOS Catalina之后,我开始出现相同的错误。

我刚刚在终端中安装了几个命令行,

 1. $ sudo gem install cocoapods
 2. $ sudo xcode-select --install
 3. $ chsh -s /bin/zsh

然后,

Xcode -> Preferences -> Locations -> Command Line Tools and confirm you have current Xcode version selected there.

而且对我来说很好。谢谢!!


1
是的...完成了所有三个步骤,但是第四个步骤不见了..第四个步骤对我
有用

我喜欢每个人都在发布要遵循的步骤,而没有一个人首先诊断出问题。不要给人们一百零一条命令来尝试破坏他们的计算机状态。诊断然后治疗。
瑞安

这不是审判!我遇到了同样的问题,我尝试了上述所有答案来解决我的问题,但是缺少了一些东西,我也不知道!最后,我根据以上答案提出了解决问题的方法,它对我来说非常有效!没有人愿意浪费人们的时间。人们回答他们所面临的问题以及他们如何解决这个问题。
Anjali Kevadiya,

9

我通过以下步骤解决了该问题。

Xcode- >首选项->位置->命令行工具->选择与您的Xcode版本匹配的命令工具。


6

对我来说,解决方案就像重新安装Xcode一样容易。

有人在这里指出: https //superuser.com/a/981126

您可以通过命令行(如上面的答案所示)重新安装Xcode,或直接从App Store安装。


5

升级到OS X EI Captian后,我也遇到同样的问题。我刚刚使用安装了xcode-selectsudo xcode-select --install



3

当我删除安装的两个Xcode之一时,我遇到了同样的问题。

我已经通过使用如下所示的终端切换路径来解决此问题

$ sudo xcode-select --switch(在此处拖动Xcode以获得路径)

例如sudo xcode-select --switch / Applications / Xcode \ 10.1.app


2

部分诊断:https : //github.com/microsoft/vcpkg/issues/8781#issuecomment-547248760

从一个MacOS版本升级到另一个版本,似乎会卸载某些开发人员工具或将其移动到另一条路径,这会破坏使用指向该工具所在位置的环境变量的任何工具的兼容性。

sudo xcode-select --install

使用install命令对我有用,但尚不清楚这是否只是下载并解压缩文件,然后跳过安装并仅更新环境变量,还是是否将文件物理安装在预期路径上。(或者它可能已链接到新文件夹路径)。

测试我的理论,我用以下方法探究了文件夹结构ls(我应该在使用install命令之前完成此操作):

rej@Ryans-MacBook-Air:~$ ls /Library/Developer/CommandLineTools/usr/bin/
rej@Ryans-MacBook-Air:~$ ls -la /Library/Developer/CommandLineTools/usr/bin/
total 243776
drwxr-xr-x  124 root  wheel   3.9K Oct 28 23:03 ./
drwxr-xr-x    7 root  admin   224B Oct 28 23:05 ../
lrwxr-xr-x    1 root  wheel    64B Oct 28 23:03 2to3@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/2to3
lrwxr-xr-x    1 root  wheel    68B Oct 28 23:03 2to3-3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/2to3-3.7
-rwxr-xr-x    1 root  wheel   116K Sep  5 22:51 DeRez*
-rwxr-xr-x    1 root  wheel    31K Sep  5 22:51 GetFileInfo*
-rwxr-xr-x    1 root  wheel    33K Sep  5 22:51 ResMerger*
-rwxr-xr-x    1 root  wheel   126K Sep  5 22:51 Rez*
-rwxr-xr-x    1 root  wheel    31K Sep  5 22:51 SetFile*
-rwxr-xr-x    1 root  wheel    32K Sep  5 22:51 SplitForks*
-rwxr-xr-x    1 root  wheel    41K Sep  5 22:51 ar*
-rwxr-xr-x    1 root  wheel    40K Sep  5 22:51 as*
-rwxr-xr-x    1 root  wheel    27K Sep  5 22:51 asa*
-rwxr-xr-x    1 root  wheel   216K Sep  5 22:51 bison*
-rwxr-xr-x    1 root  wheel   159K Sep  5 22:51 bitcode_strip*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 c++@ -> clang
-rwxr-xr-x    1 root  admin    31K Sep  5 22:51 c89*
-rwxr-xr-x    1 root  admin    31K Sep  5 22:51 c99*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 cc@ -> clang
-rwxr-xr-x    1 root  wheel    80M Sep  5 22:51 clang*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 clang++@ -> clang
-rwxr-xr-x    1 root  wheel   125K Sep  5 22:51 cmpdylib*
-rwxr-xr-x    1 root  wheel   154K Sep  5 22:51 codesign_allocate*
lrwxr-xr-x    1 root  wheel    17B Oct 28 23:03 codesign_allocate-p@ -> codesign_allocate
-rwxr-xr-x    1 root  admin   3.3K Aug 16 06:55 cpp*
-rwxr-xr-x    1 root  wheel    36K Sep  5 22:51 ctags*
-rwxr-xr-x    1 root  wheel   150K Sep  5 22:51 ctf_insert*
-rwxr-xr-x    1 root  wheel    30M Sep  5 22:51 dsymutil*
lrwxr-xr-x    1 root  wheel    14B Oct 28 23:03 dwarfdump@ -> llvm-dwarfdump
-rwxr-xr-x    1 root  wheel   477K Sep  5 22:51 dwarfdump-classic*
-rwxr-xr-x    1 root  wheel   211K Sep  5 22:51 dyldinfo*
-rwxr-xr-x    1 root  wheel   239B Sep  5 19:18 easy_install-3.7*
-rwxr-xr-x    1 root  wheel   572K Sep  5 22:51 flex*
-rwxr-xr-x    1 root  wheel   572K Sep  5 22:51 flex++*
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 g++@ -> gcc
-rwxr-xr-x    1 root  wheel   101K Aug 16 07:31 gatherheaderdoc*
-rwxr-xr-x    1 root  admin    27K Sep  5 22:51 gcc*
lrwxr-xr-x    1 root  wheel     8B Oct 28 23:03 gcov@ -> llvm-cov
-rwxr-xr-x    1 root  wheel   2.4M Sep  5 22:51 git*
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 git-receive-pack@ -> git
-rwxr-xr-x    1 root  wheel   1.4M Sep  5 22:51 git-shell*
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 git-upload-archive@ -> git
lrwxr-xr-x    1 root  wheel     3B Oct 28 23:03 git-upload-pack@ -> git
-rwxr-xr-x    1 root  wheel   148K Sep  5 22:51 gm4*
-rwxr-xr-x    1 root  wheel   166K Sep  5 22:51 gnumake*
-rwxr-xr-x    1 root  wheel    98K Sep  5 22:51 gperf*
-rwxr-xr-x    1 root  wheel    33K Sep  5 22:51 hdxml2manxml*
-rwxr-xr-x    1 root  wheel   158K Aug 16 07:31 headerdoc2html*
-rwxr-xr-x    1 root  wheel    73K Sep  5 22:51 indent*
-rwxr-xr-x    1 root  wheel   142K Sep  5 22:51 install_name_tool*
-rwxr-xr-x    1 root  wheel   2.5M Sep  5 22:51 ld*
-rwxr-xr-x    1 root  wheel   230B Aug 16 07:13 lex*
-rwxr-xr-x    1 root  wheel   163K Sep  5 22:51 libtool*
-rwxr-xr-x    1 root  wheel    73K Sep  5 22:51 lipo*
-rwxr-xr-x    1 root  wheel   332K Sep  5 22:51 lldb*
-rwxr-xr-x    1 root  wheel   3.6M Sep  5 22:51 llvm-cov*
-rwxr-xr-x    1 root  wheel   7.9M Sep  5 22:51 llvm-dwarfdump*
-rwxr-xr-x    1 root  wheel   9.8M Sep  5 22:51 llvm-nm*
-rwxr-xr-x    1 root  wheel    11M Sep  5 22:51 llvm-objdump*
-rwxr-xr-x    1 root  wheel    40K Sep  5 22:51 llvm-otool*
-rwxr-xr-x    1 root  wheel   1.6M Sep  5 22:51 llvm-profdata*
-rwxr-xr-x    1 root  wheel   2.9M Sep  5 22:51 llvm-size*
-rwxr-xr-x    1 root  wheel   3.5K Aug 16 07:19 lorder*
-rwxr-xr-x    1 root  wheel   148K Sep  5 22:51 m4*
-rwxr-xr-x    1 root  wheel   166K Sep  5 22:51 make*
-rwxr-xr-x    1 root  wheel   7.7K Aug 16 07:16 mig*
lrwxr-xr-x    1 root  wheel     7B Oct 28 23:03 nm@ -> llvm-nm
-rwxr-xr-x    1 root  wheel   142K Sep  5 22:51 nm-classic*
-rwxr-xr-x    1 root  wheel   171K Sep  5 22:51 nmedit*
lrwxr-xr-x    1 root  wheel    12B Oct 28 23:03 objdump@ -> llvm-objdump
lrwxr-xr-x    1 root  wheel    10B Oct 28 23:03 otool@ -> llvm-otool
-rwxr-xr-x    1 root  wheel   644K Sep  5 22:51 otool-classic*
-rwxr-xr-x    1 root  wheel   138K Sep  5 22:51 pagestuff*
-rwxr-xr-x    1 root  wheel   221B Sep  5 19:18 pip3*
-rwxr-xr-x    1 root  wheel   221B Sep  5 19:18 pip3.7*
-rwxr-xr-x    1 root  wheel    32K Sep  5 22:51 projectInfo*
lrwxr-xr-x    1 root  wheel    66B Oct 28 23:03 pydoc3@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pydoc3
lrwxr-xr-x    1 root  wheel    68B Oct 28 23:03 pydoc3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pydoc3.7
lrwxr-xr-x    1 root  wheel    67B Oct 28 23:03 python3@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3
lrwxr-xr-x    1 root  wheel    74B Oct 28 23:03 python3-config@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3-config
lrwxr-xr-x    1 root  wheel    69B Oct 28 23:03 python3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7
lrwxr-xr-x    1 root  wheel    76B Oct 28 23:03 python3.7-config@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7-config
lrwxr-xr-x    1 root  wheel    70B Oct 28 23:03 python3.7m@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7m
lrwxr-xr-x    1 root  wheel    77B Oct 28 23:03 python3.7m-config@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7m-config
lrwxr-xr-x    1 root  wheel    66B Oct 28 23:03 pyvenv@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pyvenv
lrwxr-xr-x    1 root  wheel    70B Oct 28 23:03 pyvenv-3.7@ -> ../../Library/Frameworks/Python3.framework/Versions/3.7/bin/pyvenv-3.7
lrwxr-xr-x    1 root  wheel     7B Oct 28 23:03 ranlib@ -> libtool
-rwxr-xr-x    1 root  wheel    70K Sep  5 22:51 resolveLinks*
-rwxr-xr-x    1 root  wheel    85K Sep  5 22:51 rpcgen*
-rwxr-xr-x    1 root  wheel    56K Sep  5 22:51 segedit*
lrwxr-xr-x    1 root  wheel    12B Oct 28 23:03 size@ -> size-classic
-rwxr-xr-x    1 root  wheel   125K Sep  5 22:51 size-classic*
-rwxr-xr-x    1 root  admin   138K Sep  5 22:51 stapler*
-rwxr-xr-x    1 root  wheel   126K Sep  5 22:51 strings*
-rwxr-xr-x    1 root  wheel   179K Sep  5 22:51 strip*
-rwxr-xr-x    1 root  wheel   330K Sep  5 22:51 svn*
-rwxr-xr-x    1 root  wheel   118K Sep  5 22:51 svnadmin*
-rwxr-xr-x    1 root  wheel   105K Sep  5 22:51 svnbench*
-rwxr-xr-x    1 root  wheel    64K Sep  5 22:51 svndumpfilter*
-rwxr-xr-x    1 root  wheel    71K Sep  5 22:51 svnfsfs*
-rwxr-xr-x    1 root  wheel    98K Sep  5 22:51 svnlook*
-rwxr-xr-x    1 root  wheel    70K Sep  5 22:51 svnmucc*
-rwxr-xr-x    1 root  wheel    89K Sep  5 22:51 svnrdump*
-rwxr-xr-x    1 root  wheel   122K Sep  5 22:51 svnserve*
-rwxr-xr-x    1 root  wheel    90K Sep  5 22:51 svnsync*
-rwxr-xr-x    1 root  wheel    44K Sep  5 22:51 svnversion*
-rwxr-xr-x    1 root  wheel    90M Sep  5 22:51 swift*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 swift-autolink-extract@ -> swift
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-build*
-rwxr-xr-x    1 root  admin   734K Sep  5 22:51 swift-build-tool*
-rwxr-xr-x    1 root  wheel   687K Sep  5 22:51 swift-demangle*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 swift-format@ -> swift
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-package*
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-run*
-rwxr-xr-x    1 root  wheel    61K Sep  5 22:51 swift-stdlib-tool*
-rwxr-xr-x    1 root  admin   6.1M Sep  5 22:51 swift-test*
lrwxr-xr-x    1 root  wheel     5B Oct 28 23:03 swiftc@ -> swift
-rwxr-xr-x    1 root  wheel    12M Sep  5 22:51 tapi*
-rwxr-xr-x    1 root  wheel    41K Sep  5 22:51 unifdef*
-rwxr-xr-x    1 root  wheel   2.9K Aug 16 07:19 unifdefall*
-rwxr-xr-x    1 root  wheel    63K Sep  5 22:51 unwinddump*
-rwxr-xr-x    1 root  wheel    49K Sep  5 22:51 vtool*
-rwxr-xr-x    1 root  wheel    45K Sep  5 22:51 xml2man*
-rwxr-xr-x    1 root  wheel   135B Aug 16 07:22 yacc*

显然,文件实际上位于该文件夹位置,并且安装程序安装了缺少的组件。MacOS的升级过程会卸载我的开发环境这一事实是不友好的,应该谴责Apple。


2

从macOS Mojave v10.14升级到Catalina v10.15后,我第一次运行Homebrew时遇到类似错误。

在不了解Homebrew的安装问题和命令实际作用的情况下运行命令绝不是一个好主意。您的第一个也是最好的选择是运行brew doctor。该命令不仅会告诉您是否出了问题,而且还会告诉您如何解决问题。就我而言,它显示:

Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path:
  sudo xcode-select -switch /Applications/Xcode.app

解决问题后,运行 brew doctor再次。基本上,重复此过程,直到获得所有清晰的消息。

在某些情况下,您会得到类似以下内容的信息:

Unbrewed dylibs/header files/static libraries were found in /usr/local/....

如果您在Homebrew外部安装了也使用相同位置存储文件的软件,则会发生这种情况。在许多情况下,可以忽略这些警告。

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.