Jamey's Jamey's
首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于

Jamey

首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于
  • NPM

  • Node

  • CNPM

  • Homebrew

  • Tree

  • Git

    • Xcode Command Line Tools
      • 📖. 前言
      • 一. 在 Mac OS X 中安装命令行工具
        • 1. 安装命令
        • 2. 确认安装
        • 3. 等待安装
      • 二. 使用命令行工具安装的内容和位置
      • 三. 问题
        • 1. 对“当前不可用”错误进行故障排除
        • 2. 对git仍是老版本解决
      • 🌟. 新二进制文件的完整列表
  • 《环境》笔记
  • Git
Jamey
2022-08-09
目录

Xcode Command Line Tools

# Xcode Command Lines Tool

提示

本指南适用于 MacOS Monterey 12、macOS Big Sur 11、macOS Catalina、macOS Mojave 10.14.x、10.13 High Sierra、10.12 Sierra、OS X 10.11 El Capitan、OS X 10.10 Yosemite、Mac OS X 10.9 和更新版本. 运行先前版本的 Mac OS X 的 Mac 用户可以继续通过 Apple Developer 网站 (opens new window) 提供的软件包安装程序直接安装命令行工具和 gcc(没有 Xcode)。

# 📖. 前言

使用 macOS 时,Apple 自家的 XCode Command Line Tools 基本上很难绕开。比如你想用 Homebrew 安装点什么东西,它都会依赖 XCode CLT。比较不幸地是,如果你更新了 macOS,那你就得重新安装 XCode。如果你重新安装 XCode,那么匹配版本的 CLT 也得重新安装。

命令行工具包为 Mac 终端用户提供了许多常用工具、实用程序和编译器,包括 make、GCC、clang、perl、svn、git、size、strip、strings、libtool、cpp、what 和许多其他有用的命令通常在默认的 linux 安装中找到。 我们已经为感兴趣的人提供了通过下面的命令行工具包可用的 新二进制文件的完整列表,或者您可以在安装软件包后自己查看,我们将在此处进行介绍。

# 一. 在 Mac OS X 中安装命令行工具

# 1. 安装命令

xcode-select --install
1

# 2. 确认安装

会出现一个软件更新弹出窗口,询问:“xcode-select 命令需要请求开发者工具,您要现在安装这些工具吗?” 选择通过单击 “安装” 来确认这一点,然后再要求时同意服务条款(请随时通读它们)

# 3. 等待安装

等待命令行工具包下载完成,大约 130MB 并且安装速度相当快,具体取决于您的连接速度。

安装程序完成后会自行消失,然后您可以通过尝试使用刚刚安装的命令之一来确认一切正常。例如 gcc、git、svn、rebase、make、id、otool、nm 等等想要从下面的列表中。假设安装没有中断,该命令将按预期执行。这也意味着您可以直接从源代码编译和安装东西,而无需使用包管理器。享受您的新 unix 命令行工具包!

# 二. 使用命令行工具安装的内容和位置

对于那些有兴趣了解他们的 Mac 上安装的内容及其去向的详细信息的人,整个命令行工具包包被放置在以下目录中:

/Library/Developer/CommandLineTools/
1

如果您愿意,您可以浏览该目录,或者您可以只了解它,以防您以后想要修改或调整任何包。

请注意,目录是 Mac OS 的根 /Library,而不是 用户 ~/Library目录。

如果您想查看可用的 61 个新命令,它们都在 /Library/Developer/CommandLineTools/usr/bin/ 中

# 三. 问题

# 1. 对“当前不可用”错误进行故障排除

收到一条错误消息,显示“无法安装该软件,因为它当前无法从软件更新服务器获得”?好吧,您很幸运,因为该错误消息可能表明您已经在 Mac 上安装了 Xcode。

从 Mac OS X 10.9 开始,如果 Xcode 已经安装在 Mac OS X 中,那么命令行工具也会被安装(您可以通过尝试从终端运行 gcc 或 make 来检查这一点)。因此,本教程的目标用户是不想安装更广泛的 Xcode 开发包,而是只安装命令行实用程序的用户。是的,这意味着您可以卸载整个 Xcode 应用程序并仅在需要时安装命令行工具,因为对于许多用户和系统管理员来说,这是他们开始安装 Xcode 的唯一原因。

# 2. 对git仍是老版本解决

安装完成后,执行 git --version,如果你发现依旧是老版本,可以使用下面的方式解决。

安装包安装的 Git 以及 Homebrew 安装的 Git,最终都会把执行路径放到 /usr/local/bin 下面,xcode 安装的 git 会放在 /usr/bin 下面,而且如果你查看一下 PATH

echo $PATH
1

会发现,/usr/bin 是处在 /usr/local/bin 前面的,所以就导致了旧版本依旧覆盖了新版本。知道了原因之后,解决方式就很简单了,我们只需要把 /usr/local/bin 放到前面即可。有两种方式:

  • 第一种:

编辑 /etc/paths(需要管理员权限),调整 /usr/local/bin 在最前面

  • 第二种:

编辑 ~/.bashrc 或者 ~/.bash_profile

PATH=/usr/local/bin:$PATH
export PATH
1
2

然后执行 source ~/.bashrc 或者 source ~/.bash_profile 使改变生效。

此时再次执行 git --version 应该就会看到新版本了。

# 🌟. 新二进制文件的完整列表

ar
as
asa
bison
BuildStrings
c++
c89
c99
cc
clang
clang++
cmpdylib
codesign_allocate
CpMac
cpp
ctags
ctf_insert
DeRez
dsymutil
dwarfdump
dyldinfo
flex
flex++
g++
gatherheaderdoc
gcc
gcov
GetFileInfo
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
gm4
gnumake
gperf
hdxml2manxml
headerdoc2html
indent
install_name_tool
ld
lex
libtool
lipo
lldb
lorder
m4
make
MergePef
mig
mkdep
MvMac
nasm
ndisasm
nm
nmedit
otool
pagestuff
projectInfo
ranlib
rebase
redo_prebinding
ResMerger
resolveLinks
Rez
RezDet
RezWack
rpcgen
segedit
SetFile
size
SplitForks
strings
strip
svn
svnadmin
svndumpfilter
svnlook
svnrdump
svnserve
svnsync
svnversion
unifdef
unifdefall
UnRezWack
unwinddump
what
xml2man
yacc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#Xcode
上次更新: 2022/10/30, 19:26:12
tree 命令

← tree 命令

Theme by Vdoing | Copyright © 2017-2023 Jamey | blog 闽ICP备19022664号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式