fix: использовать bash --login для загрузки nvm окружения

- bash --login загружает .bashrc где инициализируется nvm
- Исправляет определение пути к qwen и node

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-25 15:30:17 +08:00
parent 1ed49841c7
commit ea6aebedef
1 changed files with 5 additions and 5 deletions

View File

@ -42,14 +42,14 @@ if [ ! -f "$BOT_DIR/.env" ]; then
exit 1 exit 1
fi fi
# Определяем путь к qwen # Определяем путь к qwen через bash --login чтобы загрузить .bashrc с nvm
QWEN_PATH=$(sudo -u "$BOT_USER" which qwen 2>/dev/null || echo "") QWEN_PATH=$(sudo -u "$BOT_USER" bash --login -c "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) - через bash --login
NODE_BIN=$(sudo -u "$BOT_USER" which node 2>/dev/null || echo "") NODE_BIN=$(sudo -u "$BOT_USER" bash --login -c "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)
@ -60,7 +60,7 @@ else
NODE_PATH="$NVM_BASE/current/bin" NODE_PATH="$NVM_BASE/current/bin"
fi fi
NVM_DIR=$(sudo -u "$BOT_USER" bash -c 'echo $NVM_DIR' 2>/dev/null || echo "/home/$BOT_USER/.nvm") NVM_DIR="/home/$BOT_USER/.nvm"
echo "📝 Создание systemd сервиса..." echo "📝 Создание systemd сервиса..."
echo " Node путь: $NODE_PATH" echo " Node путь: $NODE_PATH"