@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
# Installing Xcode CLT (Command Line Tools)
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Xcode Command Line Tools (CLT) is a lightweight package (~2.5 GB) from Apple containing essential development utilities needed by most developers on macOS. It includes compilers (clang, Swift), version control (git), build tools (make), and other utilities required by package managers like Homebrew.
|
|
6
|
+
|
|
7
|
+
**This installer is for Command Line Tools only.** If you need the full Xcode IDE for iOS/macOS app development, see the full Xcode installer (xcode.md).
|
|
8
|
+
|
|
9
|
+
**What's Included in CLT:**
|
|
10
|
+
- **Compilers**: clang, clang++, Swift compiler
|
|
11
|
+
- **Version Control**: git
|
|
12
|
+
- **Build Tools**: make, ld, ar, ranlib, libtool
|
|
13
|
+
- **Utilities**: dsymutil, strip, nm, otool, lipo
|
|
14
|
+
- **Headers**: macOS SDK headers for building software
|
|
15
|
+
|
|
16
|
+
**Platform Limitation**: Xcode CLT is an Apple-exclusive product and **only runs on macOS**. There is no legitimate way to install or run Xcode CLT on Windows, Linux, or other operating systems.
|
|
17
|
+
|
|
18
|
+
## Dependencies
|
|
19
|
+
|
|
20
|
+
### macOS (Homebrew)
|
|
21
|
+
- **Required:** None - Installation uses built-in macOS commands (`softwareupdate`, `xcode-select`)
|
|
22
|
+
- **Optional:** None
|
|
23
|
+
- **Auto-installed:** Xcode CLT is a foundational package that includes:
|
|
24
|
+
- `clang` and `clang++` (C/C++ compilers)
|
|
25
|
+
- `swift` (Swift compiler)
|
|
26
|
+
- `git` (version control system)
|
|
27
|
+
- `make` (build automation tool)
|
|
28
|
+
- `ld`, `ar`, `ranlib`, `libtool` (linker and archiving tools)
|
|
29
|
+
- `dsymutil`, `strip`, `nm`, `otool`, `lipo` (debugging and binary utilities)
|
|
30
|
+
- macOS SDK headers for software compilation
|
|
31
|
+
|
|
32
|
+
### Ubuntu (APT/Snap)
|
|
33
|
+
- **Required:** Installation not supported on this platform (Xcode CLT is macOS-only)
|
|
34
|
+
- **Optional:** N/A
|
|
35
|
+
- **Auto-installed:** N/A
|
|
36
|
+
- **Alternative:** Use `sudo apt-get install -y build-essential git` for equivalent tooling
|
|
37
|
+
|
|
38
|
+
### Raspberry Pi OS (APT/Snap)
|
|
39
|
+
- **Required:** Installation not supported on this platform (Xcode CLT is macOS-only)
|
|
40
|
+
- **Optional:** N/A
|
|
41
|
+
- **Auto-installed:** N/A
|
|
42
|
+
- **Alternative:** Use `sudo apt-get install -y build-essential git` for equivalent tooling
|
|
43
|
+
|
|
44
|
+
### Amazon Linux (DNF/YUM)
|
|
45
|
+
- **Required:** Installation not supported on this platform (Xcode CLT is macOS-only)
|
|
46
|
+
- **Optional:** N/A
|
|
47
|
+
- **Auto-installed:** N/A
|
|
48
|
+
- **Alternative:** Use `sudo dnf groupinstall -y "Development Tools"` and `sudo dnf install -y git` for equivalent tooling
|
|
49
|
+
|
|
50
|
+
### Windows (Chocolatey/winget)
|
|
51
|
+
- **Required:** Installation not supported on this platform (Xcode CLT is macOS-only)
|
|
52
|
+
- **Optional:** N/A
|
|
53
|
+
- **Auto-installed:** N/A
|
|
54
|
+
- **Alternative:** Use `choco install visualstudio2022buildtools git -y` or `winget install Microsoft.VisualStudio.2022.BuildTools Git.Git` for equivalent tooling
|
|
55
|
+
|
|
56
|
+
### Git Bash (Manual/Portable)
|
|
57
|
+
- **Required:** Installation not supported on this platform (Xcode CLT is macOS-only)
|
|
58
|
+
- **Optional:** N/A
|
|
59
|
+
- **Auto-installed:** N/A
|
|
60
|
+
- **Alternative:** Git Bash includes git by default; use Windows tooling (see above) for compiler support
|
|
61
|
+
|
|
62
|
+
## Prerequisites
|
|
63
|
+
|
|
64
|
+
### Universal Requirements (macOS Only)
|
|
65
|
+
|
|
66
|
+
- **macOS**: macOS 10.15 (Catalina) or later (varies by CLT version)
|
|
67
|
+
- **Disk Space**: ~2.5 GB
|
|
68
|
+
- **Internet Connection**: Required for download
|
|
69
|
+
- **Admin Access**: Required for installation via `sudo`
|
|
70
|
+
|
|
71
|
+
### Checking macOS Version
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
sw_vers -productVersion
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Platform-Specific Installation
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### macOS (Homebrew)
|
|
82
|
+
|
|
83
|
+
Xcode Command Line Tools can be installed non-interactively using `softwareupdate`. This method avoids the GUI dialog that `xcode-select --install` triggers.
|
|
84
|
+
|
|
85
|
+
#### Prerequisites
|
|
86
|
+
|
|
87
|
+
- macOS 10.15 (Catalina) or later
|
|
88
|
+
- Admin (sudo) access
|
|
89
|
+
|
|
90
|
+
#### Installation Steps
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Non-interactive installation using softwareupdate
|
|
94
|
+
# This method avoids the GUI dialog that xcode-select --install triggers
|
|
95
|
+
|
|
96
|
+
# Create placeholder file to make CLT available in softwareupdate
|
|
97
|
+
touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
98
|
+
|
|
99
|
+
# Find the Command Line Tools package name
|
|
100
|
+
CLT_PACKAGE=$(softwareupdate -l 2>&1 | grep -o "Command Line Tools for Xcode-[0-9.]*" | head -n 1)
|
|
101
|
+
|
|
102
|
+
# Install the Command Line Tools (requires sudo for installation)
|
|
103
|
+
sudo softwareupdate -i "$CLT_PACKAGE" --verbose
|
|
104
|
+
|
|
105
|
+
# Clean up the placeholder file
|
|
106
|
+
rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### Verification
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Verify Command Line Tools installation
|
|
113
|
+
xcode-select -p
|
|
114
|
+
# Expected output: /Library/Developer/CommandLineTools
|
|
115
|
+
|
|
116
|
+
# Verify compiler is available
|
|
117
|
+
clang --version
|
|
118
|
+
|
|
119
|
+
# Verify git is available
|
|
120
|
+
git --version
|
|
121
|
+
|
|
122
|
+
# Verify make is available
|
|
123
|
+
make --version
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### Troubleshooting
|
|
127
|
+
|
|
128
|
+
**Problem**: Command Line Tools installation fails with softwareupdate
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Reset xcode-select and try again
|
|
132
|
+
sudo xcode-select --reset
|
|
133
|
+
sudo rm -rf /Library/Developer/CommandLineTools
|
|
134
|
+
|
|
135
|
+
# Re-run the installation
|
|
136
|
+
touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
137
|
+
CLT_PACKAGE=$(softwareupdate -l 2>&1 | grep -o "Command Line Tools for Xcode-[0-9.]*" | head -n 1)
|
|
138
|
+
sudo softwareupdate -i "$CLT_PACKAGE" --verbose
|
|
139
|
+
rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Problem**: `xcode-select: error: command line tools are already installed`
|
|
143
|
+
|
|
144
|
+
This is not an error - CLT is already installed. Verify with:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
xcode-select -p
|
|
148
|
+
clang --version
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Problem**: `softwareupdate` returns no CLT package
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Ensure the placeholder file exists
|
|
155
|
+
touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
156
|
+
|
|
157
|
+
# Check available packages
|
|
158
|
+
softwareupdate -l
|
|
159
|
+
|
|
160
|
+
# If still no CLT package, try the interactive installer as fallback
|
|
161
|
+
xcode-select --install
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### Ubuntu/Debian (APT)
|
|
167
|
+
|
|
168
|
+
#### Not Supported
|
|
169
|
+
|
|
170
|
+
Xcode CLT is an Apple-exclusive product and is **not available for Ubuntu or Debian**. Apple does not provide Xcode CLT for any Linux distribution.
|
|
171
|
+
|
|
172
|
+
#### Alternatives for Linux Developers
|
|
173
|
+
|
|
174
|
+
Linux already has equivalent tools available natively:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# Install build essentials (gcc, g++, make)
|
|
178
|
+
sudo apt-get update && sudo apt-get install -y build-essential
|
|
179
|
+
|
|
180
|
+
# Install git
|
|
181
|
+
sudo apt-get install -y git
|
|
182
|
+
|
|
183
|
+
# Install clang (if preferred over gcc)
|
|
184
|
+
sudo apt-get install -y clang
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
### Raspberry Pi OS (APT)
|
|
190
|
+
|
|
191
|
+
#### Not Supported
|
|
192
|
+
|
|
193
|
+
Xcode CLT is an Apple-exclusive product and is **not available for Raspberry Pi OS**.
|
|
194
|
+
|
|
195
|
+
#### Alternatives
|
|
196
|
+
|
|
197
|
+
Raspberry Pi OS has equivalent tools available natively:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Install build essentials (gcc, g++, make)
|
|
201
|
+
sudo apt-get update && sudo apt-get install -y build-essential
|
|
202
|
+
|
|
203
|
+
# Install git
|
|
204
|
+
sudo apt-get install -y git
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
### Amazon Linux/RHEL (YUM/DNF)
|
|
210
|
+
|
|
211
|
+
#### Not Supported
|
|
212
|
+
|
|
213
|
+
Xcode CLT is an Apple-exclusive product and is **not available for Amazon Linux or RHEL**.
|
|
214
|
+
|
|
215
|
+
#### Alternatives
|
|
216
|
+
|
|
217
|
+
Amazon Linux/RHEL has equivalent tools available natively:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# Install Development Tools group (gcc, g++, make)
|
|
221
|
+
sudo yum groupinstall -y "Development Tools"
|
|
222
|
+
# Or on newer systems with DNF:
|
|
223
|
+
sudo dnf groupinstall -y "Development Tools"
|
|
224
|
+
|
|
225
|
+
# Install git
|
|
226
|
+
sudo yum install -y git
|
|
227
|
+
# Or:
|
|
228
|
+
sudo dnf install -y git
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
### Windows (Chocolatey/winget)
|
|
234
|
+
|
|
235
|
+
#### Not Supported
|
|
236
|
+
|
|
237
|
+
Xcode CLT is an Apple-exclusive product and is **not available for Windows**.
|
|
238
|
+
|
|
239
|
+
#### Alternatives
|
|
240
|
+
|
|
241
|
+
Windows has equivalent tools available:
|
|
242
|
+
|
|
243
|
+
```powershell
|
|
244
|
+
# Install Build Tools for Visual Studio (includes MSVC compiler)
|
|
245
|
+
choco install visualstudio2022buildtools -y
|
|
246
|
+
|
|
247
|
+
# Install git
|
|
248
|
+
choco install git -y
|
|
249
|
+
|
|
250
|
+
# Install make (via GnuWin32 or similar)
|
|
251
|
+
choco install make -y
|
|
252
|
+
|
|
253
|
+
# Or use winget:
|
|
254
|
+
winget install Microsoft.VisualStudio.2022.BuildTools
|
|
255
|
+
winget install Git.Git
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
### WSL (Windows Subsystem for Linux)
|
|
261
|
+
|
|
262
|
+
#### Not Supported
|
|
263
|
+
|
|
264
|
+
Xcode CLT is an Apple-exclusive product and is **not available for WSL**.
|
|
265
|
+
|
|
266
|
+
#### Alternatives
|
|
267
|
+
|
|
268
|
+
WSL has equivalent Linux tools available:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
# Install build essentials (gcc, g++, make)
|
|
272
|
+
sudo apt-get update && sudo apt-get install -y build-essential
|
|
273
|
+
|
|
274
|
+
# Install git
|
|
275
|
+
sudo apt-get install -y git
|
|
276
|
+
|
|
277
|
+
# Install clang (if preferred over gcc)
|
|
278
|
+
sudo apt-get install -y clang
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
### Git Bash (Manual/Portable)
|
|
284
|
+
|
|
285
|
+
#### Not Supported
|
|
286
|
+
|
|
287
|
+
Xcode CLT is an Apple-exclusive product and is **not available for Git Bash on Windows**.
|
|
288
|
+
|
|
289
|
+
#### Alternatives
|
|
290
|
+
|
|
291
|
+
Git Bash already includes git. For additional build tools, see the Windows section above.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Post-Installation Configuration
|
|
296
|
+
|
|
297
|
+
These steps apply only to macOS installations.
|
|
298
|
+
|
|
299
|
+
### Verify Installation
|
|
300
|
+
|
|
301
|
+
After installation, verify CLT is working correctly:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# Check developer directory is set
|
|
305
|
+
xcode-select -p
|
|
306
|
+
# Expected: /Library/Developer/CommandLineTools
|
|
307
|
+
|
|
308
|
+
# Verify key tools are available
|
|
309
|
+
clang --version
|
|
310
|
+
git --version
|
|
311
|
+
make --version
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Reset Developer Directory
|
|
315
|
+
|
|
316
|
+
If tools point to the wrong location:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
# Reset to CLT location
|
|
320
|
+
sudo xcode-select -s /Library/Developer/CommandLineTools
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## Common Issues
|
|
324
|
+
|
|
325
|
+
### CLT Not Found After macOS Update
|
|
326
|
+
|
|
327
|
+
macOS updates sometimes remove or invalidate CLT. Reinstall:
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
sudo rm -rf /Library/Developer/CommandLineTools
|
|
331
|
+
touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
332
|
+
CLT_PACKAGE=$(softwareupdate -l 2>&1 | grep -o "Command Line Tools for Xcode-[0-9.]*" | head -n 1)
|
|
333
|
+
sudo softwareupdate -i "$CLT_PACKAGE" --verbose
|
|
334
|
+
rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Headers Not Found
|
|
338
|
+
|
|
339
|
+
If compilation fails with missing headers:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# On older macOS versions, headers may need to be installed separately
|
|
343
|
+
# This is rare on modern macOS but may apply to macOS 10.14 (Mojave)
|
|
344
|
+
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
## References
|
|
348
|
+
|
|
349
|
+
- [Installing Command Line Tools - Apple Documentation](https://developer.apple.com/documentation/xcode/installing-the-command-line-tools/)
|
|
350
|
+
- [xcode-select Man Page](https://keith.github.io/xcode-man-pages/xcode-select.1.html)
|
|
351
|
+
- [Technical Note TN2339: Building from the Command Line](https://developer.apple.com/library/archive/technotes/tn2339/_index.html)
|