Instalar o Pharo localmente

Aprende a instalar o Pharo localmente para resolveres os exercícios do Exercism na tua própria máquina


Instalação

A forma mais simples de instalar o Pharo é usar um download zero conf a partir de uma linha de comandos do terminal.
Nota: se estás a tentar atualizar uma instalação existente, consulta as instruções de atualização.

Os utilizadores de Windows que não tenham uma shell de estilo UNIX instalada devem saltar para as instruções de instalação no Windows (abaixo).
Os utilizadores de Linux mais avançados podem querer consultar a instalação para hackers de Linux.

Instalação em Linux/OSX

Para Linux/OSX (partindo do princípio de que instalaste o Exercism e te juntaste ao percurso de Pharo), navega até ao teu diretório /Exercism/pharo-smalltalk e escreve:

curl https://get.pharo.org/64/ | bash

e inicia o Pharo com as ferramentas do Exercism, colando o seguinte "load script":

./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.
"

Se tiveres problemas de TIMEOUT ao carregar as ferramentas, deves sair do Pharo e limpar a cache do git escrevendo:

rm -rf pharo-local/iceberg/

E depois repete o exemplo ./pharo-ui ... acima.

Se continuares a ter problemas, visita o canal Discord do Pharo descrito na página Comunidade Pharo.

Se tudo estiver a funcionar corretamente, deves ver barras de progresso de carregamento a piscar pelo ecrã e, em seguida, aparece uma janela do System Browser.

DICA: Quando saíres do Pharo, guarda as tuas alterações (escolhe o menu Pharo e seleciona "Save and Quit"). Agora podes iniciar o Pharo com o Exercism já carregado, escrevendo simplesmente:

./pharo-ui Pharo.image

Instalação no Windows (ignora em OSX/Linux)

Ainda estamos a trabalhar nos melhores pré-requisitos de ferramentas de linha de comandos para Windows. No entanto, também podes instalar o Pharo graficamente com o Windows Pharo Launcher (uma ferramenta prática para gerir várias imagens do Pharo). Este launcher também está disponível para OSX e Linux, se preferires uma interface gráfica.

  1. Executa o ficheiro .msi que descarregaste para instalar o Pharo Launcher.

  2. Executa o Pharo Launcher.

  3. No canto superior esquerdo, clica em "New".

  4. Na janela, seleciona "Official distributions" a partir das categorias de modelos.

  5. Para os exercícios do Exercism, escolhe na lista de modelos de imagens do Pharo a versão estável mais recente (atualmente "Pharo 10.0 64-bit (stable)", conforme recomendado).

  6. Clica para destacar um modelo de imagem, dá-lhe um nome e, em seguida, clica no botão de criação de imagem na parte inferior (uma roda dentada cor de laranja).
    Criar imagem a partir do launcher

  7. Assim que o modelo for descarregado, aparece à direita na tabela Existing Images. Clica nele e depois clica no botão de iniciar na parte superior (uma seta play verde).
    Iniciar imagem

  8. Assim que a imagem do Pharo tiver iniciado, abre um Playground escolhendo o menu Browse e selecionando Playground, ou usa ctrl + o + w.
    Abrir playground

  9. Por fim, copia e cola o seguinte excerto no playground:

Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.

Depois avalia o código colado, selecionando-o todo, clicando com o botão direito e escolhendo Do it no menu (ou usa ctrl + d).

Se tudo estiver a funcionar corretamente, deves ver barras de progresso de carregamento a piscar pelo ecrã e, em seguida, aparece uma janela do System Browser.

Começar (TODOS)

Quando inicias o Pharo, vês um projeto Welcome, num System Browser (dica: se alguma vez perderes esta janela, podes abrir uma nova a partir do menu Tools|System Browser).

Ecrã de boas-vindas do Pharo

O painel superior esquerdo do System Browser mostra os pacotes do teu ambiente, e vais reparar que o script de instalação já configurou um pacote chamado Exercism, que contém uma etiqueta de subprojeto chamada Welcome. O segundo painel mostra as classes, e também tem uma classe chamada Welcome. Por baixo do painel das classes há 4 botões de opção: "Flat" (mostra as classes do pacote), "Hier." (mostra uma hierarquia de classes), "Inst. side" (mostra os métodos de instância) e "Class side" (mostra os métodos de classe/construtores).

Se clicares no separador Comment, vês as instruções mais recentes para usar o Pharo Exercism. Lê os comentários e experimenta correr o teu primeiro teste.

Noutras linguagens baseadas em ficheiros, normalmente saltarias para um terminal neste momento e usarias a CLI do exercism para obter o exercício seguinte. Apesar de o Pharo poder trabalhar com ficheiros de forma semelhante, o ambiente está na verdade preparado para trabalhar com objetos vivos. Curiosamente, as classes, os métodos e o código-fonte são todos objetos, como tudo o resto no Pharo. Vais aprender mais sobre isto ao longo deste percurso.

Carregar exercícios

Para o Exercism, incluímos um plugin que te permite obter e submeter exercícios de Pharo dentro da própria IDE. Só tens de clicar com o botão direito num pacote de exercício (neste caso, o pacote Welcome no painel superior esquerdo) e selecionar o item de menu Exercism | Fetch Exercise. Isto vai pedir-te um nome de exercício (por exemplo, hello-world) e, quando o introduzires, obtém-no automaticamente para ti.

Os nomes dos exercícios encontram-se na descrição de cada exercício na página do teu percurso de Pharo (mesmo à direita). Há uma instrução Download com uma string da CLI que contém a chave de cada exercício. Também podes usar o botão de copiar ao lado das instruções da CLI e colar a string completa no pedido de obtenção (e extraímos a chave automaticamente).

Quando introduzires um exercício válido, o plugin obtém o código relevante e mostra-o no System Browser, pronto para começares a programar com testes.

Quando todos os teus testes estiverem a passar, podes submeter a tua solução usando o mesmo menu de contexto do teu pacote de exercício (clica com o botão direito na etiqueta do pacote e seleciona Exercism | Submit Exercise...)

Menu de submissão do Exercism

Por fim, usa o menu Exercism | View Track Progress para visitar o site do exercism e ver que outros exercícios foram desbloqueados para ti, bem como publicar perguntas sobre a tua submissão para os mentores lerem.


Sabias que: Quando inicias o Pharo, estás na verdade a restaurar uma captura de imagem de execução, semelhante a uma imagem de sistema operativo de uma VMWare. Este é um conceito poderoso que te permite suspender o trabalho a meio de uma operação, possivelmente até durante a depuração de algo. Quando voltares a iniciar o Pharo, podes continuar a percorrer o código no depurador restaurado ou, possivelmente, continuar um passo de refatoração.

Como repor o teu token da CLI

Se alguma vez precisares de repor o teu token da CLI devido a um problema de segurança, deves visitar a tua página Definições do Exercism e usar o botão de reposição do token. Depois de o fazeres, tens de limpar o teu token antigo no Pharo Exercism, avaliando o seguinte código num Playground:

ExercismHttpClient
    reset;
    promptForToken.

Como atualizar o Pharo Exercism

De vez em quando, podemos precisar que atualizes as bibliotecas da tua imagem do Pharo Exercism. Segue estas instruções