fix: динамическое определение пути nvm в install-systemd-service.sh

- Исправлена команда установки qwen: @qwen-code/qwen-code (не @anthropic)
- Динамическое определение Node.js пути через 'which node' (не хардкод версии)
- При обновлении nvm путь автоматически подстроится
- Добавлен вывод отладочной информации при установке

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-25 15:24:51 +08:00
parent f24245829d
commit d7e6dd6bd0
2 changed files with 21 additions and 6 deletions

View File

@ -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

View File

@ -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