fix: определять qwen через найденную версию nvm

- Сначала находим node через find
- Извлекаем версию nvm из пути (например v24.13.1)
- Ищем qwen в той же версии nvm: $NVM_BASE/$NVM_VERSION/bin/qwen
- Более надёжное определение путей

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

View File

@ -42,22 +42,34 @@ if [ ! -f "$BOT_DIR/.env" ]; then
exit 1 exit 1
fi fi
# Определяем путь к qwen через find # Определяем путь к node через find
QWEN_PATH=$(find /home -name "qwen" -type f -executable 2>/dev/null | grep "/bin/qwen$" | head -1)
if [ -z "$QWEN_PATH" ]; then
echo "⚠️ qwen не найден. Установите: npm install -g @qwen-code/qwen-code"
fi
# Определяем Node.js путь (для nvm) - через find
NODE_BIN=$(find /home -name "node" -type f -executable 2>/dev/null | grep "/bin/node$" | head -1) NODE_BIN=$(find /home -name "node" -type f -executable 2>/dev/null | grep "/bin/node$" | head -1)
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)
NVM_BASE=$(dirname "$NODE_PATH") NVM_BASE=$(dirname "$NODE_PATH")
# Извлекаем версию nvm (например v24.13.1 из пути)
NVM_VERSION=$(basename "$NODE_PATH")
else else
# Fallback: стандартные пути # Fallback: стандартные пути
NVM_BASE="/home/$BOT_USER/.config/nvm/versions/node" NVM_BASE="/home/$BOT_USER/.config/nvm/versions/node"
NODE_PATH="$NVM_BASE/current/bin" NVM_VERSION="current"
NODE_PATH="$NVM_BASE/$NVM_VERSION/bin"
fi
# Ищем qwen в той же версии nvm где найден node
if [ -n "$NVM_VERSION" ] && [ "$NVM_VERSION" != "current" ]; then
QWEN_PATH="$NVM_BASE/$NVM_VERSION/bin/qwen"
if [ ! -f "$QWEN_PATH" ]; then
QWEN_PATH=""
fi
else
# Если версия не определена - ищем qwen через find
QWEN_PATH=$(find /home -name "qwen" -type f -executable 2>/dev/null | grep "/bin/qwen$" | head -1)
fi
if [ -z "$QWEN_PATH" ]; then
echo "⚠️ qwen не найден. Установите: npm install -g @qwen-code/qwen-code"
fi fi
NVM_DIR="/home/$BOT_USER/.nvm" NVM_DIR="/home/$BOT_USER/.nvm"