mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2025-08-02 13:57:35 +08:00
深度修复权限问题,创建完整的目录结构并设置递归权限,确保用户在执行Cursor相关操作时的顺利进行。更新了脚本以增强目录权限管理和所有权验证,提升用户体验。
This commit is contained in:
parent
9860fb8466
commit
b2a5edef74
@ -115,22 +115,78 @@ remove_cursor_trial_folders() {
|
||||
echo
|
||||
done
|
||||
|
||||
# 🔧 重要:预创建必要的目录结构,避免权限问题
|
||||
log_info "🔧 [修复] 预创建必要的目录结构以避免权限问题..."
|
||||
# 🔧 重要:深度修复权限问题
|
||||
log_info "🔧 [深度修复] 正在进行全面的权限修复..."
|
||||
local cursor_support_dir="$HOME/Library/Application Support/Cursor"
|
||||
local cursor_home_dir="$HOME/.cursor"
|
||||
|
||||
# 创建主要目录
|
||||
mkdir -p "$cursor_support_dir" 2>/dev/null || true
|
||||
mkdir -p "$cursor_home_dir" 2>/dev/null || true
|
||||
mkdir -p "$cursor_home_dir/extensions" 2>/dev/null || true
|
||||
# 创建完整的目录结构(包括Cursor可能需要的所有子目录)
|
||||
local directories=(
|
||||
"$cursor_support_dir"
|
||||
"$cursor_support_dir/User"
|
||||
"$cursor_support_dir/User/globalStorage"
|
||||
"$cursor_support_dir/User/workspaceStorage"
|
||||
"$cursor_support_dir/User/History"
|
||||
"$cursor_support_dir/logs"
|
||||
"$cursor_support_dir/CachedData"
|
||||
"$cursor_support_dir/CachedExtensions"
|
||||
"$cursor_support_dir/CachedExtensionVSIXs"
|
||||
"$cursor_home_dir"
|
||||
"$cursor_home_dir/extensions"
|
||||
)
|
||||
|
||||
# 设置正确的权限
|
||||
chmod 755 "$cursor_support_dir" 2>/dev/null || true
|
||||
chmod 755 "$cursor_home_dir" 2>/dev/null || true
|
||||
chmod 755 "$cursor_home_dir/extensions" 2>/dev/null || true
|
||||
log_info "📁 [创建] 创建完整的目录结构..."
|
||||
for dir in "${directories[@]}"; do
|
||||
if mkdir -p "$dir" 2>/dev/null; then
|
||||
log_debug "✅ 创建目录: $dir"
|
||||
else
|
||||
log_warn "⚠️ 创建目录失败: $dir"
|
||||
fi
|
||||
done
|
||||
|
||||
log_info "✅ [完成] 目录结构预创建完成"
|
||||
# 设置递归权限(确保所有子目录都有正确权限)
|
||||
log_info "🔐 [权限] 设置递归权限..."
|
||||
chmod -R 755 "$cursor_support_dir" 2>/dev/null || true
|
||||
chmod -R 755 "$cursor_home_dir" 2>/dev/null || true
|
||||
|
||||
# 特别处理:确保当前用户拥有这些目录
|
||||
log_info "👤 [所有权] 确保目录所有权正确..."
|
||||
chown -R "$(whoami)" "$cursor_support_dir" 2>/dev/null || true
|
||||
chown -R "$(whoami)" "$cursor_home_dir" 2>/dev/null || true
|
||||
|
||||
# 验证权限设置
|
||||
log_info "🔍 [验证] 验证权限设置..."
|
||||
if [ -w "$cursor_support_dir" ] && [ -w "$cursor_home_dir" ]; then
|
||||
log_info "✅ [成功] 权限验证通过"
|
||||
else
|
||||
log_warn "⚠️ [警告] 权限验证失败,可能仍存在问题"
|
||||
fi
|
||||
|
||||
# 🔍 权限诊断
|
||||
log_info "🔍 [诊断] 执行权限诊断..."
|
||||
echo " 📁 目录权限检查:"
|
||||
for dir in "${directories[@]}"; do
|
||||
if [ -d "$dir" ]; then
|
||||
local perms=$(ls -ld "$dir" | awk '{print $1, $3, $4}')
|
||||
echo " ✅ $dir: $perms"
|
||||
else
|
||||
echo " ❌ $dir: 不存在"
|
||||
fi
|
||||
done
|
||||
|
||||
# 🔍 权限诊断
|
||||
log_info "🔍 [诊断] 执行权限诊断..."
|
||||
echo " 📁 目录权限检查:"
|
||||
for dir in "${directories[@]}"; do
|
||||
if [ -d "$dir" ]; then
|
||||
local perms=$(ls -ld "$dir" | awk '{print $1, $3, $4}')
|
||||
echo " ✅ $dir: $perms"
|
||||
else
|
||||
echo " ❌ $dir: 不存在"
|
||||
fi
|
||||
done
|
||||
|
||||
log_info "✅ [完成] 深度权限修复完成"
|
||||
echo
|
||||
|
||||
# 显示操作统计
|
||||
@ -165,19 +221,31 @@ restart_cursor_and_wait() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 🔧 确保目录权限正确
|
||||
log_info "🔧 [权限] 确保目录权限正确..."
|
||||
# 🔧 启动前最后一次权限确认
|
||||
log_info "🔧 [最终权限] 启动前最后一次权限确认..."
|
||||
local cursor_support_dir="$HOME/Library/Application Support/Cursor"
|
||||
local cursor_home_dir="$HOME/.cursor"
|
||||
|
||||
# 再次确认目录存在并设置权限
|
||||
mkdir -p "$cursor_support_dir" 2>/dev/null || true
|
||||
mkdir -p "$cursor_home_dir" 2>/dev/null || true
|
||||
mkdir -p "$cursor_home_dir/extensions" 2>/dev/null || true
|
||||
# 再次确认完整目录结构存在
|
||||
local directories=(
|
||||
"$cursor_support_dir"
|
||||
"$cursor_support_dir/User"
|
||||
"$cursor_support_dir/User/globalStorage"
|
||||
"$cursor_support_dir/logs"
|
||||
"$cursor_support_dir/CachedData"
|
||||
"$cursor_home_dir"
|
||||
"$cursor_home_dir/extensions"
|
||||
)
|
||||
|
||||
chmod 755 "$cursor_support_dir" 2>/dev/null || true
|
||||
chmod 755 "$cursor_home_dir" 2>/dev/null || true
|
||||
chmod 755 "$cursor_home_dir/extensions" 2>/dev/null || true
|
||||
for dir in "${directories[@]}"; do
|
||||
mkdir -p "$dir" 2>/dev/null || true
|
||||
done
|
||||
|
||||
# 设置强制权限
|
||||
chmod -R 755 "$cursor_support_dir" 2>/dev/null || true
|
||||
chmod -R 755 "$cursor_home_dir" 2>/dev/null || true
|
||||
chown -R "$(whoami)" "$cursor_support_dir" 2>/dev/null || true
|
||||
chown -R "$(whoami)" "$cursor_home_dir" 2>/dev/null || true
|
||||
|
||||
# 启动Cursor
|
||||
log_info "🚀 [启动] 正在启动Cursor..."
|
||||
|
@ -140,6 +140,18 @@ remove_cursor_trial_folders() {
|
||||
log_warn "⚠️ [警告] 权限验证失败,可能仍存在问题"
|
||||
fi
|
||||
|
||||
# 🔍 权限诊断
|
||||
log_info "🔍 [诊断] 执行权限诊断..."
|
||||
echo " 📁 目录权限检查:"
|
||||
for dir in "${directories[@]}"; do
|
||||
if [ -d "$dir" ]; then
|
||||
local perms=$(ls -ld "$dir" | awk '{print $1, $3, $4}')
|
||||
echo " ✅ $dir: $perms"
|
||||
else
|
||||
echo " ❌ $dir: 不存在"
|
||||
fi
|
||||
done
|
||||
|
||||
log_info "✅ [完成] 深度权限修复完成"
|
||||
echo
|
||||
|
||||
@ -175,19 +187,31 @@ restart_cursor_and_wait() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 🔧 确保目录权限正确
|
||||
log_info "🔧 [权限] 确保目录权限正确..."
|
||||
# 🔧 启动前最后一次权限确认
|
||||
log_info "🔧 [最终权限] 启动前最后一次权限确认..."
|
||||
local cursor_support_dir="$HOME/Library/Application Support/Cursor"
|
||||
local cursor_home_dir="$HOME/.cursor"
|
||||
|
||||
# 再次确认目录存在并设置权限
|
||||
mkdir -p "$cursor_support_dir" 2>/dev/null || true
|
||||
mkdir -p "$cursor_home_dir" 2>/dev/null || true
|
||||
mkdir -p "$cursor_home_dir/extensions" 2>/dev/null || true
|
||||
# 再次确认完整目录结构存在
|
||||
local directories=(
|
||||
"$cursor_support_dir"
|
||||
"$cursor_support_dir/User"
|
||||
"$cursor_support_dir/User/globalStorage"
|
||||
"$cursor_support_dir/logs"
|
||||
"$cursor_support_dir/CachedData"
|
||||
"$cursor_home_dir"
|
||||
"$cursor_home_dir/extensions"
|
||||
)
|
||||
|
||||
chmod 755 "$cursor_support_dir" 2>/dev/null || true
|
||||
chmod 755 "$cursor_home_dir" 2>/dev/null || true
|
||||
chmod 755 "$cursor_home_dir/extensions" 2>/dev/null || true
|
||||
for dir in "${directories[@]}"; do
|
||||
mkdir -p "$dir" 2>/dev/null || true
|
||||
done
|
||||
|
||||
# 设置强制权限
|
||||
chmod -R 755 "$cursor_support_dir" 2>/dev/null || true
|
||||
chmod -R 755 "$cursor_home_dir" 2>/dev/null || true
|
||||
chown -R "$(whoami)" "$cursor_support_dir" 2>/dev/null || true
|
||||
chown -R "$(whoami)" "$cursor_home_dir" 2>/dev/null || true
|
||||
|
||||
# 启动Cursor
|
||||
log_info "🚀 [启动] 正在启动Cursor..."
|
||||
|
Loading…
x
Reference in New Issue
Block a user