Guida per far girare il sito Jekyll da WSL, replicabile da zero.
Il repository si trova su un percorso Windows OneDrive che contiene spazi:
/mnt/c/Users/FabioCannas/OneDrive - Alveo/progetti 20260616/azuremeetupcasteddu/azuremeetupcasteddu.github.io
Ruby/Bundler non gestiscono gli spazi nel percorso di installazione delle gem.
Con la configurazione di default (BUNDLE_PATH: "vendor/bundle", cioè gem installate
dentro la cartella del progetto) l’avvio fallisce con:
/usr/lib/ruby/3.3.0/bundled_gems.rb:69:in `require': cannot load such file -- /mnt/c/Users/FabioCannas/OneDrive (LoadError)
Il percorso viene troncato al primo spazio (.../OneDrive), da cui il LoadError.
Soluzione: installare le gem in un percorso senza spazi nel filesystem nativo di WSL (la home utente), lasciando il codice dov’è su OneDrive.
ruby -v → /usr/bin/ruby).bundle3.3 / bundler3.3 (NON esiste il comando bundle puro sul PATH).Se Ruby non è installato:
sudo apt update
sudo apt install -y ruby-full build-essential
Esegui i comandi da un terminale WSL, dalla cartella del progetto.
# 1. Vai nella cartella del progetto (attenzione agli spazi: usa le virgolette)
cd "/mnt/c/Users/FabioCannas/OneDrive - Alveo/progetti 20260616/azuremeetupcasteddu/azuremeetupcasteddu.github.io"
# 2. Scegli una cartella per le gem FUORI dal percorso con spazi (filesystem nativo WSL)
GEMDIR="$HOME/.bundle-gems/azuremeetupcasteddu"
mkdir -p "$GEMDIR"
# 3. Configura Bundler per usare quel percorso (salvato in .bundle/config, locale al repo)
bundle3.3 config set --local path "$GEMDIR"
# 4. Installa le dipendenze
bundle3.3 install
# 5. Verifica
bundle3.3 exec jekyll -v # -> jekyll 3.10.0
Dato che esiste solo bundle3.3, aggiungi degli alias alla tua ~/.bashrc:
cat >> ~/.bashrc <<'EOF'
# Ruby 3.3 bundler convenience aliases (no plain 'bundle' on PATH)
alias bundle=bundle3.3
alias bundler=bundler3.3
EOF
source ~/.bashrc
Dopodiché puoi usare direttamente bundle e bundler.
bundle exec jekyll serve
Il sito è raggiungibile su http://127.0.0.1:4000 (o l’URL indicato nell’output).
Nota: il codice è su
/mnt/c(OneDrive), quindi le build sono più lente e a volte il rilevamento automatico delle modifiche non funziona. In quel caso usa il polling:bundle exec jekyll serve --force_polling
.bundle/config e vendor/bundle/ sono git-ignored: contengono percorsi specifici
della macchina e non vanno committati (romperebbero la build di GitHub Pages e degli altri
contributor).~/azuremeetupcasteddu.github.io, senza spazi) per prestazioni migliori; in quel caso
la configurazione di default di Bundler funziona senza modifiche.