-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy pathinstall.sh
More file actions
60 lines (51 loc) · 1.69 KB
/
install.sh
File metadata and controls
60 lines (51 loc) · 1.69 KB
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
#!/usr/bin/env bash
# install.sh — cac 一键安装脚本
set -euo pipefail
REPO="https://raw.githubusercontent.com/nmhjklnm/cac/master"
BIN_DIR="$HOME/bin"
# 颜色
green() { printf '\033[32m%s\033[0m\n' "$*"; }
yellow() { printf '\033[33m%s\033[0m\n' "$*"; }
red() { printf '\033[31m%s\033[0m\n' "$*"; }
echo "=== cac — Claude Code Cloak 安装 ==="
echo
# 1. 检查是否已通过 npm 安装
if command -v cac &>/dev/null; then
local_cac=$(command -v cac)
if [[ "$local_cac" == *"node_modules"* ]] || [[ -f "$(dirname "$local_cac" 2>/dev/null)/package.json" ]]; then
red "⚠ 检测到已通过 npm 安装 claude-cac,请勿同时使用两种安装方式!"
echo " 如需切换到 bash 安装,请先执行:"
echo " npm uninstall -g claude-cac"
exit 1
fi
fi
# 2. 下载 cac 到 ~/bin
mkdir -p "$BIN_DIR"
printf "下载 cac ... "
curl -fsSL "$REPO/cac" -o "$BIN_DIR/cac"
chmod +x "$BIN_DIR/cac"
green "✓"
# 3. 初始化(触发自动写入 PATH 到 shell rc 文件)
export PATH="$BIN_DIR:$PATH"
"$BIN_DIR/cac" env ls >/dev/null 2>&1 || true
echo
green "✓ 安装完成"
echo
# 4. 提示生效方式
RC_FILE=""
if [[ "$(basename "${SHELL:-}")" == "fish" ]]; then
RC_FILE="$HOME/.config/fish/config.fish"
elif [[ -f "$HOME/.zshrc" ]]; then
RC_FILE="$HOME/.zshrc"
elif [[ -f "$HOME/.bashrc" ]]; then
RC_FILE="$HOME/.bashrc"
elif [[ -f "$HOME/.bash_profile" ]]; then
RC_FILE="$HOME/.bash_profile"
fi
if [[ -n "$RC_FILE" ]]; then
echo "执行以下命令使配置生效(或重开终端):"
echo " source $RC_FILE"
echo
fi
echo "然后添加第一个代理配置:"
echo " cac env create <名字> -p <host:port:user:pass>"