fix: использовать find вместо which для определения путей

- find не зависит от PATH и .bashrc
- Ищет исполняемые файлы qwen и node напрямую
- Более надёжное определение путей nvm

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

View File

@ -42,14 +42,14 @@ if [ ! -f "$BOT_DIR/.env" ]; then
exit 1 exit 1
fi fi
# Определяем путь к qwen через source ~/.bashrc # Определяем путь к qwen через find
QWEN_PATH=$(sudo -u "$BOT_USER" bash -c "source /home/$BOT_USER/.bashrc 2>/dev/null; which qwen" 2>/dev/null || echo "") QWEN_PATH=$(find /home -name "qwen" -type f -executable 2>/dev/null | grep "/bin/qwen$" | head -1)
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) - через source ~/.bashrc # Определяем Node.js путь (для nvm) - через find
NODE_BIN=$(sudo -u "$BOT_USER" bash -c "source /home/$BOT_USER/.bashrc 2>/dev/null; which node" 2>/dev/null || echo "") 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)