Aprende a instalar Pharo en local para resolver los ejercicios de Exercism en tu propio ordenador
La forma más sencilla de instalar Pharo es usar una descarga zero conf desde una línea de comandos del terminal.
Nota: si estás intentando actualizar una instalación existente, consulta las instrucciones de actualización.
Los usuarios de Windows que no tengan instalado un shell de estilo UNIX deben saltar a las instrucciones de Instalación en Windows (más abajo).
Los usuarios de Linux más avanzados pueden consultar la Instalación para hackers de Linux.
Para Linux/OSX (suponiendo que ya has instalado Exercism y te has unido al track de Pharo), ve a tu directorio /Exercism/pharo-smalltalk y escribe:
curl https://get.pharo.org/64/ | bash
y arranca Pharo con las herramientas de exercism pegando el siguiente "script de carga":
./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
"
Si tienes algún problema de TIMEOUT al cargar las herramientas, debes salir de Pharo y limpiar la caché de git escribiendo:
rm -rf pharo-local/iceberg/
Y luego repetir el ejemplo ./pharo-ui ... de arriba.
Si sigues teniendo problemas, visita el canal de Discord de Pharo que se describe en la página de la Comunidad de Pharo.
Si todo funciona correctamente, verás barras de progreso de carga parpadeando por la pantalla y, después, aparecerá una ventana del System Browser.
CONSEJO: Cuando salgas de Pharo, guarda tus cambios (abre el menú Pharo y selecciona "Save and Quit"). Ahora ya puedes arrancar Pharo con Exercism ya cargado, simplemente escribiendo:
./pharo-ui Pharo.image
Todavía estamos trabajando en cuáles son los mejores requisitos previos de la herramienta de línea de comandos para Windows; sin embargo, también puedes instalar Pharo gráficamente usando el Windows Pharo Launcher (una práctica herramienta para gestionar varias imágenes de Pharo). Este launcher también está disponible para OSX y Linux si prefieres una interfaz gráfica.
Ejecuta el archivo .msi descargado para instalar el Pharo Launcher.
Ejecuta Pharo launcher.
En la esquina superior izquierda, haz clic en "New".
En la ventana, selecciona "Official distributions" entre las categorías de plantillas.
Para los ejercicios de Exercism, elige de la lista de plantillas de imagen de Pharo la última versión estable (actualmente "Pharo 10.0 64-bit (stable)", que es la recomendada).
Haz clic para resaltar una plantilla de imagen, dale un nombre y luego haz clic en el botón de crear imagen que está abajo (una forma de engranaje naranja).

Una vez descargada la plantilla, aparecerá a la derecha en la tabla Existing Images. Haz clic sobre ella y luego haz clic en el botón de lanzar que está arriba (una flecha play verde).

Una vez que la imagen de Pharo haya arrancado, abre un Playground eligiendo el menú Browse y seleccionando Playground, o usa
ctrl + o + w.

Por último, copia y pega el siguiente fragmento en el playground:
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
Luego evalúa el código pegado seleccionándolo todo, haciendo clic con el botón derecho y seleccionando Do it en el menú (o usa ctrl + d).
Si todo funciona correctamente, verás barras de progreso de carga parpadeando por la pantalla y, después, aparecerá una ventana del System Browser.
Cuando arranques Pharo, verás un proyecto Welcome en un System Browser (consejo: si alguna vez pierdes esta ventana, puedes abrir una nueva desde el menú Tools|System Browser).

El panel superior izquierdo del System browser muestra los paquetes de tu entorno, y verás que el script de instalación ya ha configurado
un paquete llamado Exercism, que contiene una etiqueta de subproyecto llamada Welcome. El segundo panel muestra las clases, que también tiene una clase llamada Welcome. Debajo del panel de clases hay 4 botones de opción, "Flat" (muestra las clases del paquete), "Hier." (muestra una jerarquía de clases), "Inst. side" (muestra los métodos de instancia), "Class side" (muestra los métodos de clase/constructores).
Si haces clic en la pestaña Comment, puedes ver las últimas instrucciones para usar Pharo Exercism. Lee los comentarios y prueba a ejecutar tu primera prueba.
En otros lenguajes basados en archivos, normalmente saltarías a un terminal en este punto y usarías la CLI de exercism para obtener el siguiente ejercicio. Aunque Pharo puede trabajar con archivos de forma similar, el entorno está en realidad pensado para trabajar con objetos vivos. Las clases, los métodos y el código fuente son, curiosamente, objetos como todo lo demás en Pharo. Aprenderás más sobre esto a lo largo de este track.
Para Exercism, hemos incluido un plugin que te permite recuperar y enviar ejercicios de Pharo desde el propio IDE.
Todo lo que tienes que hacer es hacer clic con el botón derecho en un paquete de ejercicio (en este caso, el paquete Welcome del panel superior izquierdo) y seleccionar el elemento de menú Exercism | Fetch Exercise.
Esto te pedirá un nombre de ejercicio (por ejemplo, hello-world) y, cuando lo introduzcas, lo recuperará automáticamente por ti.
Los nombres de los ejercicios se pueden encontrar en la descripción de cada ejercicio en tu página del track de Pharo (a la derecha del todo). Hay una instrucción de Download con una cadena de la CLI que contiene la clave de cada ejercicio. También puedes usar el botón de copiar que está junto a las instrucciones de la CLI y pegar la cadena entera en el aviso de recuperación (y extraeremos la clave automáticamente).
Cuando hayas introducido un ejercicio válido, el plugin recuperará el código correspondiente y lo mostrará en el System Browser, listo para que empieces a programar con pruebas.
Cuando todas tus pruebas pasen, puedes enviar tu solución usando el mismo menú contextual de tu paquete de ejercicio (haz clic con el botón derecho en la etiqueta del paquete y selecciona Exercism | Submit Exercise...)

Por último, usa el menú Exercism | View Track Progress para visitar la web de exercism y ver qué otros ejercicios se han desbloqueado para ti, además de publicar preguntas sobre tu envío para que las lean los mentores.
¿Sabías que...? Cuando arrancas Pharo, en realidad estás restaurando una instantánea de imagen de ejecución, similar a una imagen de sistema operativo de VMWare. Este es un concepto potente que te permite suspender el trabajo a mitad de una operación, posiblemente incluso mientras depuras algo. Cuando vuelvas a arrancar Pharo, podrás seguir recorriendo el código paso a paso en el depurador restaurado, o quizá continuar un paso de refactorización.
Si alguna vez necesitas restablecer tu token de la CLI por un problema de seguridad, debes visitar tu página de Ajustes de Exercism y usar el botón de restablecer token. Cuando lo hayas hecho, tienes que borrar tu token antiguo en Pharo Exercism evaluando el siguiente código en un Playground:
ExercismHttpClient
reset;
promptForToken.
De vez en cuando puede que necesitemos que actualices las librerías de tu imagen de Pharo Exercism. Sigue estas instrucciones