Lerne, wie du Pharo lokal installierst, um die Übungen von Exercism auf deinem eigenen Rechner zu lösen
Der einfachste Weg, Pharo zu installieren, ist ein Zero-Conf-Download über die Kommandozeile.
Hinweis: Wenn du eine bestehende Installation aktualisieren möchtest, lies die Upgrade-Anleitung.
Windows-Nutzer, die keine UNIX-artige Shell installiert haben, sollten direkt zum Abschnitt Windows-Installation (unten) springen.
Fortgeschrittene Linux-Nutzer finden vielleicht die Linux-Hacker-Installation interessant.
Unter Linux/OSX (vorausgesetzt, du hast Exercism installiert und bist dem Pharo-Track beigetreten) wechselst du in dein Verzeichnis /Exercism/pharo-smalltalk und gibst Folgendes ein:
curl https://get.pharo.org/64/ | bash
und startest Pharo mit den Exercism-Tools, indem du das folgende „Load-Skript“ einfügst:
./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
"
Wenn beim Laden der Tools TIMEOUT-Probleme auftreten, solltest du Pharo beenden und den Git-Cache leeren, indem du Folgendes eingibst:
rm -rf pharo-local/iceberg/
Danach wiederholst du das obige Beispiel ./pharo-ui ....
Wenn du weiterhin Probleme hast, schau im Pharo-Discord-Kanal vorbei, der auf der Seite Pharo Community beschrieben wird.
Wenn alles richtig funktioniert, solltest du Ladebalken über den Bildschirm flackern sehen, und danach erscheint ein System Browser-Fenster.
TIPP: Wenn du Pharo beendest, speichere deine Änderungen (wähle das Pharo-Menü und dort „Save and Quit“). Du kannst Pharo jetzt mit bereits geladenem Exercism starten, indem du einfach Folgendes eingibst:
./pharo-ui Pharo.image
Wir arbeiten noch an den besten Voraussetzungen für Kommandozeilen-Tools unter Windows. Du kannst Pharo aber auch grafisch mit dem Windows Pharo Launcher installieren (ein praktisches Werkzeug, um mehrere Pharo-Images zu verwalten). Dieser Launcher ist auch für OSX und Linux verfügbar, wenn du lieber mit grafischer Oberfläche arbeitest.
Führe die heruntergeladene .msi-Datei aus, um den Pharo Launcher zu installieren.
Starte den Pharo Launcher.
Klicke oben links auf „New“.
Wähle im Fenster unter den Vorlagenkategorien „Official distributions“ aus.
Für Exercism-Übungen wählst du aus der Liste der Pharo-Image-Vorlagen die neueste stabile Version (derzeit empfohlen: „Pharo 10.0 64-bit (stable)“).
Klicke eine Image-Vorlage an, um sie auszuwählen, gib ihr einen Namen und klicke dann unten auf die Schaltfläche zum Erstellen eines Images (ein oranges Zahnrad).

Sobald die Vorlage heruntergeladen ist, erscheint sie rechts in der Tabelle „Existing Images“. Klicke sie an und klicke dann oben auf die Start-Schaltfläche (ein grüner Play-Pfeil).

Sobald das Pharo-Image gestartet ist, öffnest du einen Playground über das Menü Browse und den Eintrag Playground, oder du verwendest
ctrl + o + w.

Kopiere zum Schluss den folgenden Ausschnitt in den Playground:
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
Führe den eingefügten Code dann aus, indem du ihn komplett markierst, mit der rechten Maustaste klickst und im Menü Do it auswählst (oder ctrl + d verwendest).
Wenn alles richtig funktioniert, solltest du Ladebalken über den Bildschirm flackern sehen, und danach erscheint ein System Browser-Fenster.
Wenn du Pharo startest, siehst du ein Welcome-Projekt in einem System Browser (Tipp: falls du dieses Fenster einmal verlierst, kannst du über das Menü Tools|System Browser ein neues öffnen).

Das obere linke Fenster des System Browsers zeigt die Pakete in deiner Umgebung, und du wirst feststellen, dass das Installationsskript bereits
ein Paket namens Exercism eingerichtet hat, das ein Unterprojekt-Tag namens Welcome enthält. Das zweite Fenster zeigt Klassen, darunter ebenfalls eine Klasse namens Welcome. Unter dem Klassen-Fenster gibt es vier Radiobuttons: „Flat“ (zeigt die Klassen im Paket), „Hier.“ (zeigt eine Klassenhierarchie), „Inst. side“ (zeigt Instanzmethoden) und „Class side“ (zeigt Klassenmethoden/Konstruktoren).
Wenn du auf den Tab „Comment“ klickst, siehst du die neuesten Anleitungen zur Nutzung von Pharo Exercism. Lies die Kommentare und versuche, deinen ersten Test auszuführen.
Bei anderen dateibasierten Sprachen würdest du an dieser Stelle normalerweise zum Terminal wechseln und mit der Exercism-Kommandozeile die nächste Übung herunterladen. Pharo kann zwar ähnlich mit Dateien umgehen, doch die Umgebung ist eigentlich auf lebende Objekte ausgerichtet. Klassen, Methoden und Quellcode sind interessanterweise alles Objekte, wie alles andere in Pharo auch. Mehr darüber erfährst du im Laufe dieses Tracks.
Für Exercism haben wir ein Plugin eingebaut, mit dem du Pharo-Übungen direkt in der IDE herunterladen und einreichen kannst.
Du musst nur mit der rechten Maustaste auf ein Übungspaket klicken (in diesem Fall das Welcome-Paket im oberen linken Fenster) und den Menüeintrag Exercism | Fetch Exercise
auswählen. Daraufhin wirst du nach einem Übungsnamen gefragt (z. B. hello-world), und nach der Eingabe wird die Übung automatisch für dich heruntergeladen.
Die Übungsnamen findest du in jeder Übungsbeschreibung auf deiner Seite Pharo-Track (ganz rechts). Dort steht eine Download-Anweisung mit einem Kommandozeilen-Befehl, der den Schlüssel jeder Übung enthält. Du kannst auch die Kopierschaltfläche neben dem Kommandozeilen-Befehl verwenden und die gesamte Zeichenfolge in die Eingabeaufforderung einfügen (den Schlüssel extrahieren wir dann automatisch).
Wenn du eine gültige Übung eingegeben hast, lädt das Plugin den passenden Code herunter und zeigt ihn im System Browser an, sodass du mit dem Programmieren mit Tests beginnen kannst.
Wenn alle deine Tests bestehen, kannst du deine Lösung über dasselbe Kontextmenü für dein Übungspaket einreichen (Rechtsklick auf das Paket-Tag und Exercism | Submit Exercise... auswählen).

Verwende schließlich das Menü Exercism | View Track Progress, um die Exercism-Website zu besuchen und zu sehen, welche anderen Übungen für dich freigeschaltet wurden. Dort kannst du auch Fragen zu deiner Lösung stellen, die deine Mentoren lesen können.
Wusstest du schon: Wenn du Pharo startest, stellst du in Wirklichkeit einen Snapshot eines Ausführungs-Images wieder her, ähnlich einem Betriebssystem-Image von VMware. Das ist ein mächtiges Konzept: Du kannst die Arbeit mitten in einem Vorgang unterbrechen, sogar beim Debuggen. Wenn du Pharo das nächste Mal startest, kannst du im wiederhergestellten Debugger weiter durch den Code schreiten oder einen Refactoring-Schritt fortsetzen.
Wenn du dein CLI-Token aus Sicherheitsgründen zurücksetzen musst, besuche deine Seite Exercism-Einstellungen und verwende die Schaltfläche zum Zurücksetzen des Tokens. Danach musst du dein altes Token in Pharo Exercism löschen, indem du den folgenden Code in einem Playground ausführst:
ExercismHttpClient
reset;
promptForToken.
Von Zeit zu Zeit kann es nötig sein, dass du die Bibliotheken in deinem Pharo-Exercism-Image aktualisierst. Folge dazu dieser Anleitung