Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何检查是否安装了命令行工具_Xcode_Macos - Fatal编程技术网

Xcode 如何检查是否安装了命令行工具

Xcode 如何检查是否安装了命令行工具,xcode,macos,Xcode,Macos,我有一台MacBookPro和OSX10.8.2。 已安装XCode。我知道它出现在应用程序目录中。 在/usr/bin中还有xcodebuild和xcodeselect文件 我需要知道是否安装了命令行工具。 有命令吗? 如何查看是否安装了XCode CLT,如果是,如何查找已安装的版本?10.15 Catalina更新: 见约塞米蒂更新 10.14莫哈韦最新情况: 见约塞米蒂更新 10.13最新情况: 见约塞米蒂更新 10.12塞拉利昂最新情况: 见约塞米蒂更新 10.11 El Capita

我有一台MacBookPro和OSX10.8.2。 已安装XCode。我知道它出现在应用程序目录中。 在/usr/bin中还有xcodebuild和xcodeselect文件 我需要知道是否安装了命令行工具。 有命令吗? 如何查看是否安装了XCode CLT,如果是,如何查找已安装的版本?

10.15 Catalina更新: 见约塞米蒂更新

10.14莫哈韦最新情况: 见约塞米蒂更新

10.13最新情况: 见约塞米蒂更新

10.12塞拉利昂最新情况: 见约塞米蒂更新

10.11 El Capitan更新: 见约塞米蒂更新

10.10约塞米蒂更新: 只需在命令行上输入
gcc
make
!OSX将知道您没有命令行工具,并提示您安装它们

要检查它们是否存在,
xcode选择-p
将打印目录。或者,如果不存在,返回值将为
2
,如果存在,返回值将为
0
。只需打印返回值(谢谢@Andy):

10.9 Mavericks更新: 使用pkgutil--pkg info=com.apple.pkg.CLTools\u可执行文件

10.8更新: 选项1:建议使用
pkgutil--pkg info=com.apple.pkg.developertoolsci
,它可能更干净

选项2:检查
/var/db/receipts/com.apple.pkg.developertoolsci.plist内部
以获取对
com.apple.pkg.developertoolsci
的参考,它将列出版本
4.5.0

[Mar 12 17:04] [jnovack@yourmom ~]$ defaults read /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist
{
    InstallDate = "2012-12-26 22:45:54 +0000";
    InstallPrefixPath = "/";
    InstallProcessName = Xcode;
    PackageFileName = "DeveloperToolsCLI.pkg";
    PackageGroups =     (
        "com.apple.FindSystemFiles.pkg-group",
        "com.apple.DevToolsBoth.pkg-group",
        "com.apple.DevToolsNonRelocatableShared.pkg-group"
    );
    PackageIdentifier = "com.apple.pkg.DeveloperToolsCLI";
    PackageVersion = "4.5.0.0.1.1249367152";
    PathACLs =     {
        Library = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
        System = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    };
}
优胜美地 下面是一些人可能需要的新Mac的一些额外步骤。这为@jnovack的优秀答案增加了一点内容

更新:设置此项时的其他注意事项:

确保你的管理员用户有密码。尝试启用根用户时,空白密码无效

System Preferences > Users and Groups > (select user) > Change password
然后,要启用root,请在终端中运行
dsenableroot

$ dsenableroot
username = mac_admin_user
user password:
root password:
verify root password:

dsenableroot:: ***Successfully enabled root user.
输入管理员用户的密码,然后输入两次新启用的根密码

下一种类型:

sudo gcc

它将做出如下响应:

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:


You have not agreed to the Xcode license agreements. You must agree to 
both license agreements below in order to use Xcode.
当提示显示许可协议时,按enter键

Hit the Enter key to view the license agreements at 
'/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

IMPORTANT: BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE 
FOLLOWING APPLE TERMS:

//...
q
退出许可协议视图

By typing 'agree' you are agreeing to the terms of the software license 
agreements. Type 'print' to print them or anything else to cancel, 
[agree, print, cancel]
键入
同意
。然后它将以以下内容结束:

clang: error: no input files 
这基本上意味着你没有给
make
gcc
任何输入文件

下面是支票的样子:

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
小牛队 对于小牛队,现在有点不同了

未找到工具时,命令
pkgutil
返回的结果如下:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.0.1.0.1.1382131676
volume: /
location: /
install-time: 1384149984
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group 
要安装命令行工具,这在终端上可以很好地工作,有一个漂亮的gui和其他一切

$ xcode-select --install

找到它们时,
pkgutil
命令返回的结果如下:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.0.1.0.1.1382131676
volume: /
location: /
install-time: 1384149984
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group 
此命令在安装前后返回相同的结果

$ pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
我之前也在xcode的下载部分选择并安装了CLT的组件,但它似乎没有进入终端


希望有帮助。

进入应用程序>Xcode>首选项>下载

您应该可以在那里看到要安装的命令行工具。

在macOS Sierra(10.12)上:

  • 运行以下命令以查看是否安装了CLT:

    xcode-select -p
    
    如果已经安装了CLT,这将返回工具的路径。类似这样的事情-

    /Applications/Xcode.app/Contents/Developer
    
  • 运行以下命令以查看CLT的版本:

    pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
    
    这将返回版本信息,输出如下-

    package-id: com.apple.pkg.CLTools_Executables
    version: 8.2.0.0.1.1480973914
    volume: /
    location: /
    install-time: 1486372375
    

  • 要检查是否安装了命令行工具,请运行:

    xcode-select --version
    
    // if installed you will see the below with the version found in your system
    // xcode-select version 1234.
    
    xcode-select --install
    
    如果未安装命令行工具,请运行:

    xcode-select --version
    
    // if installed you will see the below with the version found in your system
    // xcode-select version 1234.
    
    xcode-select --install
    

    从方案的角度来看,该方案是可行的。目前,它总是检查
    /Library/Developer/CommandLineTools/usr/bin/git
    ,如果操作系统版本为10.13或更低,它也会检查
    /usr/include/iconv.h

    因为Xcode包含了CLI工具(如果先安装的话),所以我使用了下面的混合版本,它已经在10.12和10.14上进行了验证。我希望它适用于许多其他版本:

    installed=$(pkgutil--pkg info=com.apple.pkg.CLTools\u Executables 2>/dev/null | | pkgutil--pkg info=com.apple.pkg.Xcode)

    在盐中加入
    awk
    来尝试分支逻辑


    当然,
    xcode-select-p
    只需很短的命令就可以处理这些变化,但无法提供详细的软件包、版本和安装日期元数据。

    我认为查找命令行工具的最简单方法是安装与否及其版本,而不管macOS版本是什么

    $brew config
    
    macOS:10.14.2-x86_64
    CLT:10.1.0.0.1.1539992718
    Xcode:10.1

    当您正确安装了命令行工具并正确设置了路径时,将发生这种情况

    之前我得到的输出如下
    macOS:10.14.2-x86_64
    CLT:不适用
    Xcode:10.1

    尽管有gcc,但CLT显示为N/A,使工作良好,低于输出

    $xcode-select -p              
    /Applications/Xcode.app/Contents/Developer
    $pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
    No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
    $brew doctor
    Your system is ready to brew.
    
    最后,执行xcode select--install解决了我的问题,即brew无法找到用于安装软件包的CLT,如下所示

    Installing sphinx-doc dependency: python
    Warning: Building python from source:
      The bottle needs the Apple Command Line Tools to be installed.
      You can install them, if desired, with:
        xcode-select --install
    

    在macOSCatalina以及可能的一些早期版本中,您可以使用以下命令找到命令行工具的安装位置:

    xcode选择-p
    a.k.a.
    xcode选择-打印路径

    如果安装了,将以如下方式响应:

    /Library/Developer/CommandLineTools

    要了解您在那里安装的版本,您可以使用:

    xcode-select-v
    a.k.a.
    xcode-select-version

    这将返回类似于:

    xcode选择2370版本。

    但是如果您尝试将其升级到最新版本(假设已安装),请使用以下方法:

    xcode选择--安装

    您将收到以下回复:

    xcode选择:错误:命令行工具已安装,请使用“软件更新”安装
    
    /Library/Developer/CommandLineTools
    
    brew config