1
0
postauto/node_install.sh

57 lines
1.9 KiB
Bash

#!/bin/bash
# Ce script installe Node.js et les modules nécessaires pour faire tourner server.js
# sans nécessiter d'accès root.
# Il vérifie que la version de Node.js est d'au moins 22.
# Fonction pour afficher les messages en vert
log() {
echo -e "\033[1;32m$1\033[0m"
}
# 1. Vérifier si nvm est installé, sinon l'installer
if [ -z "$(command -v nvm)" ]; then
log "nvm non trouvé, installation de nvm..."
# Téléchargement et exécution du script d'installation de nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
# Charger nvm dans le shell courant
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
log "Si NVM n'est pas chargé automatiquement dans de nouvelles sessions, ajoutez les lignes suivantes dans votre fichier ~/.bashrc ou équivalent :"
echo 'export NVM_DIR="$HOME/.nvm"'
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Charge nvm'
else
log "nvm est déjà installé."
fi
# 2. Vérifier si Node.js est installé et si sa version est >= 22
if command -v node >/dev/null; then
current_version=$(node -v | sed 's/^v//')
major_version=$(echo "$current_version" | cut -d. -f1)
if [ "$major_version" -lt 22 ]; then
log "Version de Node.js actuelle ($current_version) inférieure à 22. Installation de Node.js version 22..."
nvm install 22
nvm use 22
else
log "Version de Node.js suffisante ($current_version)."
fi
else
log "Node.js non trouvé, installation de Node.js version 22..."
nvm install 22
nvm use 22
fi
# 3. Créer package.json s'il n'existe pas déjà
if [ ! -f package.json ]; then
log "Création du fichier package.json..."
npm init -y
fi
# 4. Installer les dépendances nécessaires pour server.js
log "Installation des modules npm requis..."
npm install express express-session sqlite3 ansi-to-html
log "Installation terminée. Vous pouvez démarrer votre serveur avec :"
echo "node server.js"