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:
parent
f24245829d
commit
d7e6dd6bd0
|
|
@ -44,14 +44,29 @@ fi
|
||||||
# Определяем путь к qwen
|
# Определяем путь к qwen
|
||||||
QWEN_PATH=$(su - "$BOT_USER" -c "which qwen" 2>/dev/null || echo "")
|
QWEN_PATH=$(su - "$BOT_USER" -c "which qwen" 2>/dev/null || echo "")
|
||||||
if [ -z "$QWEN_PATH" ]; then
|
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
|
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")
|
NVM_DIR=$(su - "$BOT_USER" -c "echo \$NVM_DIR" 2>/dev/null || echo "/home/$BOT_USER/.nvm")
|
||||||
|
|
||||||
echo "📝 Создание systemd сервиса..."
|
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
|
cat > "$SYSTEMD_SERVICE" << EOF
|
||||||
|
|
@ -65,7 +80,7 @@ User=$BOT_USER
|
||||||
WorkingDirectory=$BOT_DIR
|
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="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="NVM_DIR=$NVM_DIR"
|
||||||
Environment="NODE_PATH=$NODE_PATH"
|
Environment="NODE_PATH=$NODE_LIB_DIR"
|
||||||
ExecStart=$BOT_VENV/bin/python bot.py
|
ExecStart=$BOT_VENV/bin/python bot.py
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ After=network.target
|
||||||
Type=simple
|
Type=simple
|
||||||
User=%USER%
|
User=%USER%
|
||||||
WorkingDirectory=%WORKDIR%
|
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="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
|
ExecStart=%VENV_PATH%/python bot.py
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue