fix: использовать sudo -u вместо su - в install-systemd-service.sh

- su - требует пароль, sudo -u работает без пароля
- Исправляет проблему с определением пути к qwen и node

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-25 15:28:20 +08:00
parent d7e6dd6bd0
commit a0eb82c403
1 changed files with 3 additions and 3 deletions

View File

@ -42,13 +42,13 @@ if [ ! -f "$BOT_DIR/.env" ]; then
fi fi
# Определяем путь к qwen # Определяем путь к qwen
QWEN_PATH=$(su - "$BOT_USER" -c "which qwen" 2>/dev/null || echo "") QWEN_PATH=$(sudo -u "$BOT_USER" which qwen 2>/dev/null || echo "")
if [ -z "$QWEN_PATH" ]; then if [ -z "$QWEN_PATH" ]; then
echo "⚠️ qwen не найден. Установите: npm install -g @qwen-code/qwen-code" echo "⚠️ qwen не найден. Установите: npm install -g @qwen-code/qwen-code"
fi fi
# Определяем Node.js путь (для nvm) - динамически через whereis # Определяем Node.js путь (для nvm) - динамически через whereis
NODE_BIN=$(su - "$BOT_USER" -c "which node" 2>/dev/null || echo "") NODE_BIN=$(sudo -u "$BOT_USER" which node 2>/dev/null || echo "")
if [ -n "$NODE_BIN" ]; then if [ -n "$NODE_BIN" ]; then
NODE_PATH=$(dirname "$NODE_BIN") NODE_PATH=$(dirname "$NODE_BIN")
# Извлекаем базовый путь nvm (убираем /bin/node) # Извлекаем базовый путь nvm (убираем /bin/node)
@ -59,7 +59,7 @@ else
NODE_PATH="$NVM_BASE/current/bin" NODE_PATH="$NVM_BASE/current/bin"
fi fi
NVM_DIR=$(su - "$BOT_USER" -c "echo \$NVM_DIR" 2>/dev/null || echo "/home/$BOT_USER/.nvm") NVM_DIR=$(sudo -u "$BOT_USER" bash -c 'echo $NVM_DIR' 2>/dev/null || echo "/home/$BOT_USER/.nvm")
echo "📝 Создание systemd сервиса..." echo "📝 Создание systemd сервиса..."
echo " Node путь: $NODE_PATH" echo " Node путь: $NODE_PATH"