From b96d56f0b2d3cad0a4b30ce2f72569bd4a6df21e Mon Sep 17 00:00:00 2001 From: zhang1106 <849185023@qq.com> Date: Tue, 17 Mar 2026 14:29:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(install.sh):=20=E4=BF=AE=E5=A4=8D=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 2e71419..6990659 100644 --- a/install.sh +++ b/install.sh @@ -400,8 +400,46 @@ main() { if command_exists npm; then log_success "npm $(npm -v)" else - log_error "npm 未安装" - exit 1 + log_warning "npm 未安装,尝试自动安装..." + + local distro=$(detect_distro) + local sudo=$(get_sudo) + + case $distro in + ubuntu|debian) + $sudo apt-get update -qq + $sudo apt-get install -y -qq npm + ;; + centos|rhel|fedora|rocky|almalinux) + $sudo yum install -y -q npm + ;; + arch|manjaro) + $sudo pacman -S --noconfirm npm + ;; + *) + # 尝试使用 Node.js 自带的 corepack 启用 npm + if command_exists corepack; then + log_info "尝试使用 corepack 启用 npm..." + corepack enable + corepack prepare npm@latest --activate + else + log_error "无法自动安装 npm,请手动安装" + echo -e "\n${YELLOW}手动安装 npm:${RESET}" + echo " Ubuntu/Debian: sudo apt-get install npm" + echo " CentOS/RHEL: sudo yum install npm" + echo " 或重新安装 Node.js: curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt-get install -y nodejs" + exit 1 + fi + ;; + esac + + # 再次检查 npm + if command_exists npm; then + log_success "npm $(npm -v) 安装成功" + else + log_error "npm 安装失败,请手动安装" + exit 1 + fi fi log_divider