From d7e6dd6bd0866373d698f6caaa9980024bd214fb Mon Sep 17 00:00:00 2001 From: mirivlad Date: Wed, 25 Feb 2026 15:24:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B4=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=BE=D0=B5=20=D0=BE=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=83=D1=82?= =?UTF-8?q?=D0=B8=20nvm=20=D0=B2=20install-systemd-service.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Исправлена команда установки qwen: @qwen-code/qwen-code (не @anthropic) - Динамическое определение Node.js пути через 'which node' (не хардкод версии) - При обновлении nvm путь автоматически подстроится - Добавлен вывод отладочной информации при установке Co-authored-by: Qwen-Coder --- install-systemd-service.sh | 23 +++++++++++++++++++---- telegram-bot.service | 4 ++-- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/install-systemd-service.sh b/install-systemd-service.sh index ac3f989..bf41d89 100755 --- a/install-systemd-service.sh +++ b/install-systemd-service.sh @@ -44,14 +44,29 @@ fi # Определяем путь к qwen QWEN_PATH=$(su - "$BOT_USER" -c "which qwen" 2>/dev/null || echo "") if [ -z "$QWEN_PATH" ]; then - echo "⚠️ qwen не найден. Установите: npm install -g @anthropic/qwen-code" + echo "⚠️ qwen не найден. Установите: npm install -g @qwen-code/qwen-code" +fi + +# Определяем Node.js путь (для nvm) - динамически через whereis +NODE_BIN=$(su - "$BOT_USER" -c "which node" 2>/dev/null || echo "") +if [ -n "$NODE_BIN" ]; then + NODE_PATH=$(dirname "$NODE_BIN") + # Извлекаем базовый путь nvm (убираем /bin/node) + NVM_BASE=$(dirname "$NODE_PATH") +else + # Fallback: стандартные пути + NVM_BASE="/home/$BOT_USER/.config/nvm/versions/node" + NODE_PATH="$NVM_BASE/current/bin" fi -# Определяем Node.js путь (для nvm) -NODE_PATH=$(dirname "$(su - "$BOT_USER" -c "which node" 2>/dev/null || echo "")") NVM_DIR=$(su - "$BOT_USER" -c "echo \$NVM_DIR" 2>/dev/null || echo "/home/$BOT_USER/.nvm") echo "📝 Создание systemd сервиса..." +echo " Node путь: $NODE_PATH" +echo " NVM база: $NVM_BASE" + +# Вычисляем NODE_LIB_DIR из NODE_PATH +NODE_LIB_DIR=$(dirname "$NODE_PATH")/lib/node_modules # Создаём сервис с подстановкой путей cat > "$SYSTEMD_SERVICE" << EOF @@ -65,7 +80,7 @@ User=$BOT_USER WorkingDirectory=$BOT_DIR Environment="PATH=$NODE_PATH:$BOT_VENV/bin:/home/$BOT_USER/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Environment="NVM_DIR=$NVM_DIR" -Environment="NODE_PATH=$NODE_PATH" +Environment="NODE_PATH=$NODE_LIB_DIR" ExecStart=$BOT_VENV/bin/python bot.py Restart=always RestartSec=10 diff --git a/telegram-bot.service b/telegram-bot.service index 8f8a6a4..8d516f4 100644 --- a/telegram-bot.service +++ b/telegram-bot.service @@ -6,9 +6,9 @@ After=network.target Type=simple User=%USER% WorkingDirectory=%WORKDIR% -Environment="PATH=/home/%USER%/.config/nvm/versions/node/v24.13.1/bin:%USER%/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +Environment="PATH=%NODE_BIN_DIR%:%VENV_PATH%:/home/%USER%/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Environment="NVM_DIR=/home/%USER%/.nvm" -Environment="NODE_PATH=/home/%USER%/.config/nvm/versions/node/v24.13.1/lib/node_modules" +Environment="NODE_PATH=%NODE_LIB_DIR%" ExecStart=%VENV_PATH%/python bot.py Restart=always RestartSec=10