remote-claude 0.1.1 → 0.1.2
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/init.sh +99 -33
- package/package.json +1 -1
package/init.sh
CHANGED
|
@@ -61,12 +61,45 @@ check_uv() {
|
|
|
61
61
|
fi
|
|
62
62
|
|
|
63
63
|
print_warning "未找到 uv,正在安装..."
|
|
64
|
-
|
|
65
|
-
#
|
|
66
|
-
|
|
64
|
+
|
|
65
|
+
# 方式一:官方安装脚本
|
|
66
|
+
if curl -LsSf https://astral.sh/uv/install.sh | sh 2>/dev/null; then
|
|
67
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# 方式二:brew(macOS 备用)
|
|
71
|
+
if ! command -v uv &> /dev/null && [[ "$OS" == "Darwin" ]] && command -v brew &> /dev/null; then
|
|
72
|
+
print_warning "官方脚本安装失败,尝试 brew install uv..."
|
|
73
|
+
brew install uv
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
# 方式三:pip/pip3 备用
|
|
77
|
+
if ! command -v uv &> /dev/null; then
|
|
78
|
+
print_warning "尝试 pip 安装 uv..."
|
|
79
|
+
if command -v pip3 &> /dev/null; then
|
|
80
|
+
pip3 install uv --quiet
|
|
81
|
+
elif command -v pip &> /dev/null; then
|
|
82
|
+
pip install uv --quiet
|
|
83
|
+
fi
|
|
84
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
85
|
+
fi
|
|
67
86
|
|
|
68
87
|
if command -v uv &> /dev/null; then
|
|
69
88
|
print_success "uv 安装成功"
|
|
89
|
+
|
|
90
|
+
# 确保 ~/.local/bin 写入 shell rc(uv 官方脚本可能写 .zprofile 而非 .zshrc)
|
|
91
|
+
local _RC
|
|
92
|
+
if [[ -n "$ZSH_VERSION" ]] || [[ "$(basename "$SHELL")" == "zsh" ]]; then
|
|
93
|
+
_RC="$HOME/.zshrc"
|
|
94
|
+
else
|
|
95
|
+
_RC="$HOME/.bashrc"
|
|
96
|
+
fi
|
|
97
|
+
if ! grep -qF "$HOME/.local/bin" "$_RC" 2>/dev/null; then
|
|
98
|
+
echo "" >> "$_RC"
|
|
99
|
+
echo "# uv" >> "$_RC"
|
|
100
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$_RC"
|
|
101
|
+
print_success "已将 \$HOME/.local/bin 写入 $_RC"
|
|
102
|
+
fi
|
|
70
103
|
else
|
|
71
104
|
print_error "uv 安装失败,请手动安装: https://docs.astral.sh/uv/"
|
|
72
105
|
exit 1
|
|
@@ -83,8 +116,19 @@ check_tmux() {
|
|
|
83
116
|
install_tmux() {
|
|
84
117
|
if [[ "$OS" == "Darwin" ]]; then
|
|
85
118
|
if ! command -v brew &> /dev/null; then
|
|
86
|
-
|
|
87
|
-
|
|
119
|
+
print_warning "未找到 Homebrew,正在自动安装..."
|
|
120
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
121
|
+
# 将 Homebrew 加入 PATH(Apple Silicon / Intel 路径不同)
|
|
122
|
+
if [[ -x "/opt/homebrew/bin/brew" ]]; then
|
|
123
|
+
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
124
|
+
elif [[ -x "/usr/local/bin/brew" ]]; then
|
|
125
|
+
eval "$(/usr/local/bin/brew shellenv)"
|
|
126
|
+
fi
|
|
127
|
+
if ! command -v brew &> /dev/null; then
|
|
128
|
+
print_error "Homebrew 安装失败,请手动安装后重试: https://brew.sh"
|
|
129
|
+
exit 1
|
|
130
|
+
fi
|
|
131
|
+
print_success "Homebrew 安装成功"
|
|
88
132
|
fi
|
|
89
133
|
brew install tmux
|
|
90
134
|
elif [[ "$OS" == "Linux" ]]; then
|
|
@@ -92,9 +136,16 @@ check_tmux() {
|
|
|
92
136
|
sudo apt-get update && sudo apt-get install -y tmux
|
|
93
137
|
elif command -v yum &> /dev/null; then
|
|
94
138
|
sudo yum install -y tmux
|
|
139
|
+
elif command -v pacman &> /dev/null; then
|
|
140
|
+
sudo pacman -Sy --noconfirm tmux
|
|
141
|
+
elif command -v apk &> /dev/null; then
|
|
142
|
+
sudo apk add --no-cache tmux
|
|
143
|
+
elif command -v zypper &> /dev/null; then
|
|
144
|
+
sudo zypper install -y tmux
|
|
95
145
|
else
|
|
96
|
-
|
|
97
|
-
|
|
146
|
+
print_warning "无法识别包管理器,尝试从源码编译 tmux..."
|
|
147
|
+
install_tmux_from_source
|
|
148
|
+
return
|
|
98
149
|
fi
|
|
99
150
|
fi
|
|
100
151
|
print_success "tmux 安装成功"
|
|
@@ -107,7 +158,9 @@ check_tmux() {
|
|
|
107
158
|
print_warning "包管理器版本不满足要求,尝试从源码编译 tmux ${TMUX_VERSION_TAG}..."
|
|
108
159
|
|
|
109
160
|
# 安装编译依赖
|
|
110
|
-
if
|
|
161
|
+
if [[ "$OS" == "Darwin" ]]; then
|
|
162
|
+
brew install libevent ncurses pkg-config bison 2>/dev/null || true
|
|
163
|
+
elif command -v apt-get &> /dev/null; then
|
|
111
164
|
sudo apt-get install -y build-essential libevent-dev libncurses5-dev libncursesw5-dev bison pkg-config
|
|
112
165
|
elif command -v yum &> /dev/null; then
|
|
113
166
|
sudo yum groupinstall -y "Development Tools"
|
|
@@ -148,11 +201,22 @@ check_tmux() {
|
|
|
148
201
|
sudo make -C "$SRC_DIR" install
|
|
149
202
|
else
|
|
150
203
|
make -C "$SRC_DIR" install
|
|
151
|
-
# 若 $HOME/.local/bin 不在 PATH
|
|
204
|
+
# 若 $HOME/.local/bin 不在 PATH 中,自动写入 shell 配置
|
|
152
205
|
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
206
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
207
|
+
local _RC
|
|
208
|
+
if [[ "$(basename "$SHELL")" == "zsh" ]]; then
|
|
209
|
+
_RC="$HOME/.zshrc"
|
|
210
|
+
else
|
|
211
|
+
_RC="$HOME/.bashrc"
|
|
212
|
+
fi
|
|
213
|
+
local _PATH_LINE='export PATH="$HOME/.local/bin:$PATH"'
|
|
214
|
+
if ! grep -qF "$HOME/.local/bin" "$_RC" 2>/dev/null; then
|
|
215
|
+
echo "" >> "$_RC"
|
|
216
|
+
echo "# remote-claude: tmux 路径" >> "$_RC"
|
|
217
|
+
echo "$_PATH_LINE" >> "$_RC"
|
|
218
|
+
print_success "已自动将 \$HOME/.local/bin 加入 PATH(写入 $_RC)"
|
|
219
|
+
fi
|
|
156
220
|
fi
|
|
157
221
|
fi
|
|
158
222
|
|
|
@@ -181,18 +245,13 @@ check_tmux() {
|
|
|
181
245
|
else
|
|
182
246
|
print_warning "$TMUX_VERSION 版本过低,需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR} 或更高,正在升级..."
|
|
183
247
|
install_tmux
|
|
184
|
-
#
|
|
248
|
+
# 升级后再次验证,版本仍不满足则走源码编译(跨平台)
|
|
185
249
|
if ! check_version; then
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
print_warning "源码编译安装后版本仍不满足要求($(tmux -V)),请手动安装 tmux ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+"
|
|
190
|
-
WARNINGS+=("tmux 版本不满足要求($(tmux -V)),需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+,请手动升级")
|
|
191
|
-
else
|
|
192
|
-
print_success "tmux 已升级至 $(tmux -V)"
|
|
193
|
-
fi
|
|
250
|
+
install_tmux_from_source
|
|
251
|
+
if check_version; then
|
|
252
|
+
print_success "tmux 已升级至 $(tmux -V)"
|
|
194
253
|
else
|
|
195
|
-
print_warning "
|
|
254
|
+
print_warning "源码编译后版本仍不满足要求($(tmux -V)),需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+"
|
|
196
255
|
WARNINGS+=("tmux 版本不满足要求($(tmux -V)),需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+,请手动升级")
|
|
197
256
|
fi
|
|
198
257
|
else
|
|
@@ -203,14 +262,9 @@ check_tmux() {
|
|
|
203
262
|
print_warning "未找到 tmux,正在安装..."
|
|
204
263
|
install_tmux
|
|
205
264
|
if ! check_version; then
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
print_warning "源码编译安装后版本仍不满足要求($(tmux -V)),请手动安装 tmux ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+"
|
|
210
|
-
WARNINGS+=("tmux 版本不满足要求($(tmux -V)),需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+,请手动升级")
|
|
211
|
-
fi
|
|
212
|
-
else
|
|
213
|
-
print_warning "安装的版本不满足要求($(tmux -V)),请手动安装 tmux ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+"
|
|
265
|
+
install_tmux_from_source
|
|
266
|
+
if ! check_version; then
|
|
267
|
+
print_warning "源码编译后版本仍不满足要求($(tmux -V)),需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+"
|
|
214
268
|
WARNINGS+=("tmux 版本不满足要求($(tmux -V)),需要 ${REQUIRED_MAJOR}.${REQUIRED_MINOR}+,请手动升级")
|
|
215
269
|
fi
|
|
216
270
|
fi
|
|
@@ -354,9 +408,21 @@ configure_shell() {
|
|
|
354
408
|
BIN_DIR="$HOME/.local/bin"
|
|
355
409
|
else
|
|
356
410
|
BIN_DIR="$HOME/.local/bin"
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
411
|
+
# 自动写入 PATH 到 shell 配置文件
|
|
412
|
+
export PATH="$BIN_DIR:$PATH"
|
|
413
|
+
local _RC
|
|
414
|
+
if [[ -n "$ZSH_VERSION" ]] || [[ "$(basename "$SHELL")" == "zsh" ]]; then
|
|
415
|
+
_RC="$HOME/.zshrc"
|
|
416
|
+
else
|
|
417
|
+
_RC="$HOME/.bashrc"
|
|
418
|
+
fi
|
|
419
|
+
local _PATH_LINE='export PATH="$HOME/.local/bin:$PATH"'
|
|
420
|
+
if ! grep -qF "$HOME/.local/bin" "$_RC" 2>/dev/null; then
|
|
421
|
+
echo "" >> "$_RC"
|
|
422
|
+
echo "# remote-claude: 快捷命令路径" >> "$_RC"
|
|
423
|
+
echo "$_PATH_LINE" >> "$_RC"
|
|
424
|
+
print_success "已自动将 \$HOME/.local/bin 加入 PATH(写入 $_RC)"
|
|
425
|
+
fi
|
|
360
426
|
fi
|
|
361
427
|
mkdir -p "$BIN_DIR"
|
|
362
428
|
ln -sf "$SCRIPT_DIR/bin/cla" "$BIN_DIR/cla"
|