75 lines
2.5 KiB
Bash
75 lines
2.5 KiB
Bash
#!/bin/bash
|
||
|
||
# 🚀 Script de Configuração Universal - PraFrota FE
|
||
# Este script automatiza a instalação de dependências em sistemas Linux.
|
||
|
||
set -e
|
||
|
||
# Cores para output
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
RED='\033[0;31m'
|
||
NC='\033[0m'
|
||
|
||
echo -e "${GREEN}=============================================${NC}"
|
||
echo -e "${GREEN} Iniciando Configuração do PraFrota FE ${NC}"
|
||
echo -e "${GREEN}=============================================${NC}"
|
||
|
||
# 1. Detecção do Sistema Operacional
|
||
if [ -f /etc/os-release ]; then
|
||
. /etc/os-release
|
||
OS=$ID
|
||
else
|
||
echo -e "${RED}Erro: Não foi possível detectar a distribuição Linux.${NC}"
|
||
exit 1
|
||
fi
|
||
|
||
echo -e "${YELLOW}ℹ️ Sistema detectado: $OS${NC}"
|
||
|
||
# 2. Instalação de Ferramentas de Sistema (Git, Curl, Build Essentials)
|
||
case $OS in
|
||
ubuntu|debian|linuxmint)
|
||
echo -e "${YELLOW}📦 Instalando dependências via APT...${NC}"
|
||
sudo apt update
|
||
sudo apt install -y git curl build-essential
|
||
;;
|
||
fedora|rhel|centos|almalinux)
|
||
echo -e "${YELLOW}📦 Instalando dependências via DNF/YUM...${NC}"
|
||
sudo dnf groupinstall -y "Development Tools"
|
||
sudo dnf install -y git curl
|
||
;;
|
||
arch|manjaro)
|
||
echo -e "${YELLOW}📦 Instalando dependências via PACMAN...${NC}"
|
||
sudo pacman -S --noconfirm base-devel git curl
|
||
;;
|
||
*)
|
||
echo -e "${RED}⚠️ Distribuição '$OS' não suportada automaticamente.${NC}"
|
||
echo -e "Por favor, instale 'git', 'curl' e ferramentas de compilação manualmente."
|
||
;;
|
||
esac
|
||
|
||
# 3. Gerenciamento do Node.js via NVM
|
||
if [ -z "$NVM_DIR" ]; then
|
||
echo -e "${YELLOW}📦 Instalando NVM (Node Version Manager)...${NC}"
|
||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||
export NVM_DIR="$HOME/.nvm"
|
||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||
fi
|
||
|
||
echo -e "${YELLOW}📦 Instalando Node.js v20.12.0...${NC}"
|
||
nvm install 20.12.0
|
||
nvm use 20.12.0
|
||
nvm alias default 20.12.0
|
||
|
||
# 4. Configuração do Projeto
|
||
echo -e "${YELLOW}📦 Instalando dependências do projeto (npm install)...${NC}"
|
||
npm install --legacy-peer-deps
|
||
|
||
echo -e "${YELLOW}🏗️ Compilando bibliotecas internas (crítico)...${NC}"
|
||
npm run build libs
|
||
|
||
echo -e "${GREEN}=============================================${NC}"
|
||
echo -e "${GREEN} ✅ Configuração Concluída com Sucesso! ${NC}"
|
||
echo -e "${GREEN} Para iniciar o projeto: npm run start-debug${NC}"
|
||
echo -e "${GREEN}=============================================${NC}"
|